Создать простой интерактивный модуль FizzBuzz для Orchard CMS? - PullRequest
3 голосов
/ 05 марта 2011

Я следовал руководству по модулям HelloWorld на веб-сайте Orchard, но на самом деле я не видел учебных пособий, в которых говорилось бы о создании интерактивных модулей.По сути, я просто хотел создать модуль, который содержит TextBox и кнопку, и когда вы нажимаете кнопку, на ее ярлыке будет отображаться либо FizzBuzz, Fizz, либо Buzz, в зависимости от того, будет ли число, введенное вами в текстовое поле, делиться на 15,3или 5 соответственно, но мне неясно, как это сделать.Может кто-нибудь направить меня в правильном направлении.Спасибо

1 Ответ

5 голосов
/ 06 марта 2011

Это выполнимо, и я постараюсь вам помочь:)

Разработка Orchard строится вокруг модулей. Модули предоставляют создаваемые элементы контента (страницы, блоги, сообщения в блогах, виджеты и т. Д.) В форме «элементов контента», которые содержат ряд различных «частей контента» - базовых строительных блоков Orchard.

Если вы хотите использовать инфраструктуру рендеринга контента Orchard (например, хотите поместить свою форму FizzBuzz в виджет многократного использования) - сначала вы должны создать часть контента и добавить в нее соответствующую форму ajax. Как это сделать очень хорошо описано в Документах Orchard - здесь и здесь . Я рекомендую вам воспользоваться модулем Orchard Jumpstart , поскольку он содержит образцы содержимого (с документацией) для быстрой разработки. Я также написал статью об основных понятиях, лежащих в основе создания контентной части.

Следующим шагом будет размещение логики FizzBuzz где-нибудь. Куда? В контроллере, как и в любом другом обычном приложении ASP.NET MVC, поскольку модули Orchard - это в основном отлаженные, отдельные приложения ASP.NET MVC (Области), склеенные вместе Orchard Framework . Итак, создайте контроллер в папке / Controllers в вашем модуле , добавьте соответствующее действие, которое будет возвращать FizzBuzz / Fizz / Buzz в зависимости от опубликованного числа.

В качестве последнего шага вы должны указать форму ajax, чтобы опубликовать действие вашего контроллера и получить результаты.

Подведение итогов:

  1. Создайте контентную часть FizzBuzz и виджет , который будет содержать вашу контентную часть FizzBuzz.
  2. Создать контроллер и соответствующее действие, набрав номер и вернув содержимое строки.
  3. Скажите форму ajax в файле вида .cshtml Razor вашей части, чтобы опубликовать действие вашего контроллера ( Ajax.BeginForm ) и поместить возвращенные данные в некоторые существующие

НТН!

...