Вывод новостей сразу в нескольких новостных лентах — различия между версиями
Mad grant (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
[[Файл:Tree.png]] | [[Файл:Tree.png]] | ||
+ | |||
+ | Разделы мы указали, теперь нам понадобиться кастомный макрос, который будет выводить новости из конкретной ленты новостей, плюс новости из всех лент, у которых в поле с | ||
+ | идентификатором 'rubric_link' выбрана эта лента новостей. Код данного макроса и его описание даны ниже. | ||
+ | |||
+ | == Описание макроса == | ||
== Листинг макроса == | == Листинг макроса == | ||
== Применение в xslt == | == Применение в xslt == | ||
== Применение в tpl == | == Применение в tpl == |
Версия 13:19, 23 октября 2013
Актуально для версии 2.9.1
Содержание
Задача
Иногда необходимо, чтобы одна и та же новость отображалась в нескольких лентах новостей, стандартными средствами можно создавать виртуальные или просто копии новости и перетаскивать их через модуль "Структура" по нужным разделам, а если на сайте сложная структура новостных лент, это не совсем удобно.
Поэтому, нам нужно реализовать функционал, который позволит указывать на странице конкретной новости, в каком разделе её выводить.
Решение
Со стороны административной панели, нам понадобиться создать в типе данных 'Новость' поле типа "ссылка на дерево" с идентификатором 'rubric_link', все эти действия производятся в модуле "Шаблоны данных", в результате мы получим примерно следующее:
Теперь мы можем у каждой новости указать раздел для вывода:
Разделы мы указали, теперь нам понадобиться кастомный макрос, который будет выводить новости из конкретной ленты новостей, плюс новости из всех лент, у которых в поле с идентификатором 'rubric_link' выбрана эта лента новостей. Код данного макроса и его описание даны ниже.