Динамические разделы нужны для структурированной информации. Самый стандартный пример такой информации это новости, у которых как правило есть дата, заголовок, картинка и детальный текст. В этом примере мы создадим такой раздел.
Для нашей задачи понадобится 2 дополнительных поля: дата и картинка. Создадим их с параметрами как на картинке:
Перейдите на вкладку права доступа и выдайте права группе Administrators. Если этого не сделать на этапе создания, то придется это сделать а разделе «Группы»
Нажмите «Применить» и перейдите в раздел «Настройки».
Нас тут интересует 3 поля:
Данные пункты не являются обязательными. Пункт 1 и 2 даст прирост производительности, когда новостей будет много. Пункт 3 желательно указать только для тех категорий, детальная информация которых где-то выводится.
Нажимаем «Сохранить». Если все сделано правильно, то слева у нас появится категория «Новости». Наполните ее произвольной информацией (о том, как работать с динамикой можете почитать в разделе «Редактирование динамического содержимого». После наполнения, все должно выглядеть примерно так:
Мы готовы создать пункт меню для вывода новостей! Но перед этим мы создадим на сервере 2 файла:
Файлы пока оставим пустые. После этого переходим слева в раздел «Меню». Нажимаем «Добавить пункт меню». И создаем пункт как указано на картинке:
Нажимаем сохранить. Теперь нам нужно связать нашу категорию с пунктом меню. Для этого переходим в Меню → Структура → Новости (пункт который мы создали). И подключаем новости в главную область.
Появится следующий экран:
Не забываем сохранить.
Все, мы успешно связали категорию со структурой. Переходим к программированию.
Откроем файл /eva2/dynamic/news.php и изменим его содержимое на:
Имейте ввиду, что ->getDynamic(1) означает, что мы достаем данные из динамической категории с ID = 1.
В данном примере мы использовали dynamicBlender, микро-классы и сетку up12. Если мы перейдем на страницу [домен]/news/, то увидим следующее:
При клике по заголовку мы будем переходить на соответствующие страницы: /news/1, /news/2 и /news/3, но на данных страницах будет пусто.
Для того, чтоб там что-то отображалось нужно отредактировать файл: /eva2/handlers/news_hanlder.php. Откроем его и изменим содержимое на:
В данном примере мы показали как вывести на экран Ева Блоки. Но изначально мы не включали их для динамики.
Перейдем в настройки Ева Блоков и включим их.
Если все сделано правильно, то на детальной странице будет отображаться что-то такое:
В данном примере мы рассмотрели создание и вывод динамического содержимого. Но данный пример рассказывает только об общем принципе. Пр хорошему в файлах news.php и news_hanlder.php нужно использовать компоненты.