Сообщество русскоговорящих пользователей
CMS DotNetNuke
   Вы здесь:  База знаний » Статья
19.12.2009 10:59:55, Administrator
Создание Новостей Сайта при помощи модуля Form And List

Цель статьи

В данной статье мы рассмотрим еще одно применения замечательного модуля 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

powered by metaPost
print



rating
  Комментарии

16.06.2011 14:18:47, Stas43
Дополнения к функционалу!
Если использовать переключатель Add Detail View и в основном шаблоне использовать только Title, а в детальном - только Body, то Это будет действительно Новостями! Каждая новость будет открываться отдельно!
11.06.2011 20:14:50, Тимур
Новый комментарий
Спасибо за статью))) Очень интересная)))

 
OpenedBorderBoxed Small width layoutMedium width layoutMaximum width layout Small textMedium textMaximum text