Цель статьи
В данной статье мы рассмотрим еще одно применения замечательного модуля FormAndList, на этот раз, для создания новостей нашего сайта.
В установочном пакете DNN, есть модуль, который называется Announcements. Этот модуль позволяет, в какой-то степени, управлять новостями нашего сайта.
Но у него есть некоторые недостатки, и один из них - отсутствие постраничной навигации, что осложняет работу и вам и вашим гостям.
Для новостей также можно использовать другие модули со стороны, которые чаще всего стоят немалых денег.
Здесь же, мы рассмотрим довольно простой и дешевый метод создания системы управления новостями из подручных материалов.
Определение потребностей
Система новостей сайта довольно проста. Она состоит из списка новостей - заголовков, даты и краткого содержания. Для удобства, список должен быть наделен постраничной навигацией.
На этом простом примере мы и остановимся. В дальнейшем, вы сможете, по желанию, расширить возможности системы.

Пошаговая инструкция
Создаем у себя на портале страницу с новостями сайта.
Теперь добаляем на нее модуль FormandList.

Сразу после этого заходим в настройки модуля - FormandListConfiguration.

Первый список сверху - список колонок или полей.
Колонки: Created by, Created at, Changed by и Changed at - создаются по умолчанию.
Их мы не трогаем. И две из них нам пригодятся: Createdby - в нашем примере мы высвечиваем имя создателя новости, и Createdat - которая выдаст нам дату и время создания, или публикации новости. А сейчас нужно создать свои, дополнительные колонки, необходимые для вывода новостей сайта. В нашем простом примере, это: Заголовок - назовём его Title, и текст самой новости - Body.
Нажимаем на Add New Column.
Создаем новую колонку Title:
Type=>Text
Required(обязательное поле)
Displayonlist(отображать в списке)
Создаем новую колонку Body:
Type=>RichText (Html)
Required(обязательное поле)
Displayonlist(отображать в списке)
Теперь нужно редактировать колонки Createdby и Createdat для того чтобы изменить их настройки по умолчанию, и отобразить в списке.
Ставим галочку на Display on List.
В итоге получится это.

В настройках Mode Settings, Application Mode по умолчанию отмечен как List - список. Он нам и нужен.

Опускаемся ниже, в настройки List Settings > Sorting Options.
Здесь нам нужно указать что мы хотим использовать постраничную навигацию, определив при этом количество новостей на страницу из выпадающего списка, а также определить параметр сортировки списка. В нашем случае, список новостей будет сортироваться по дате создания, в обратном порядке, т.е самые свежие новости будут первыми в списке.

Осталось последнее - выбрать шаблон для отображения списка.
У нас есть выбор между шаблоном стандартных таблиц(DefaultGridTable), но он нас не устроит, так как разобьёт новости на колонки и строки, и шаблоном XSLT.
Подходящего встроенного шаблона нет. Поэтому нам придется создать свой собственный.
К счастью, вам не придется изучать язык XSLT и тем более писать огромный скрипт. Всё это за считанные секунды сделает за вас DotNetNuke.
А теперь по порядку.
На той-же странице, в настройках List Settings=>Rendering Mode, выбираем => XSLT using self made or generated stylesheets. FileLocation=>место хранения вашего будущего шаблона. Выберите то что больше вам подходит из выпадающего списка. Теперь жмем на Generate New.

Заполняем следующую форму и жмем на кнопку Rebuild.
ListType => Division (каждая новость будет в отдельном теге <DIV>).
Delimiter =>
(Каждое поле будет на новой строке)

Это то что у нас вышло, и так оно будет в итоге выглядеть.

Нас это не совсем устраивает, и поэтому, переделаем немного скрипт вручную.

Мы просто поменяли некоторые элементы местами.
Ниже на странице, есть настройки шаблона называемые Options.
Ставим галочку в Add Sorting Support to the Style Sheet и в Add Paging Support to the Style Sheet.
Это для поддержки постраничной навигации и сортировки списка.

Теперь жмем на Generate from HTML Template, для генерации шаблона.
Получился вот такой, увесистый скрипт. Вручную такое писать...на любителя.

Нам осталось только дать файлу название и сохранить его.
Сохраняем, заходим на страницу с новостями. Добавляем новости и любуемся.
Поздравляю.
Автор: codexomega