После того, как Вы сверстали сайт, установили MODx, "натянули" на него верстку и настроили, начинается непосредственная разработка функционала сайта. И зачастую одним из таких функционалов является вывод статей или вывод новостей на страницах.
Именно о выводе статей и новостей в MODx Revolution Я сегодня Вам и расскажу.
Благодаря древовидной организации ресурсов в Revo все предельно просто. Имеется родительский элемент "Статьи", внутри которого располагаются его дети - непосредственно сами статьи, по одному ресурсу на каждую статейку.
Выглядит это примерно так:
Для того, чтобы статьи выглядели достойно, можно добавить к ним вывод картинки, которую можно будет выбирать при редактировании. Туда можно поместить все, что угодно Вашей душе, кроме того, это еще и симпатично. Для этого создадим TV-параметр, назовем его image. Далее в поле "Тип ввода" необходимо выбрать "Изображение - Image", это позволит при редактировании ресурса указывать картинку прямо с сервера, загружать их и так далее. В поле "Тип вывода" я обычно оставляю "По умолчанию". Жмакаем сохранить и пока откладываем наш ТВ-параметр в сторонку.
Поскольку статьи у нас имеют собственный формат вывода, то целесообразно создать для них отдельный шаблон, который будет за это отвечать. Оригинальничать не будем и назовем его "Статья" =)
Внутри будет следующее содержание:
Теперь по порядку. publishedon выводит дату публикации. Формат даты, конечно не больно читабельный, о том, как сделать симпатичный правильный вывод дат, я расскажу в другой статейке. pagetitle мы засунем в тэг заголовка h2. Далее необходимо вывести изображение, TV-параметр для которого мы делали до этого. Если вы заметили, Я использую фильтр вывода phpthumbof, который уменьшает картинку до 200 пикселей в ширину. Кстати, не забудьте в закладке "Дополнительные поля" указать, что шаблону доступен наш ТВ-параметр image, иначе картинка не будет выводиться. Ну и напоследок выведем текст статьи с помощью вызова [[*content]]. Наш шаблон готов.
Мы оформили основную страницу вывода статьи. Теперь нам необходимо сделать краткий вывод анонсов статьей. Для этого воспользуемся популярным сниппетом getResources, он справляется с этой задачей на ура.
Делать вывод будем сразу с пагинацией, т.к. статьи имеют обыкновение периодически добавляться и при большом количестве излишне нагружать страницу. Для этого нам поможет спиппет getPage.
Вывод статей с пагинацией:
Будем выводить по 10 ресурсов. В tpl написано имя чанка, с помощью которого будем выводить стать, а includeTVs необходим, чтобы выводилась картинка, а остальное, думаю, и так понятно.
Код чанка:
Вывод аннотации мало чем отличается от обычного шаблона: добавляется ссылка на страницу самой статьи, чтоб пользователь мог на нее перейти, уменьшаем размер картинки, а вместо контента выводится introtext.
При создании ресурса статьи выбираем шаблон "Статья", ставим ей картинку, заполняем introtext и content, и после публикации статья появится в том месте, куда Вы ее добавили.
Аналогично делается вывод новостей и прочих ресурсов.