Вывод новостей по сюжету — различия между версиями
Mad grant (обсуждение | вклад) (Новая страница: «category:Написание кастомных макросовКатегория: Верстка в XSLTКатегория:Верстка в TPL[[Кат…») |
Mad grant (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
== Задача == | == Задача == | ||
+ | |||
+ | Стандартно в UMI.CMS у типа данных "Новость" есть поле "Сюжеты", также есть одноименный тип данных. | ||
+ | У любой новости можно выбрать некоторое количество сюжетов: | ||
+ | |||
+ | [[Файл:Subject1.png]] | ||
+ | |||
+ | Есть макрос %news related_links()%, который выводит список последних новостей, связанных по сюжету с указанной новостью. | ||
+ | А если мы просто захотим вывести все новости, у которых указан определенный сюжеты или сюжеты, то такого макрос в системе нет. | ||
+ | Можно конечно указать у новости тег и вывести все страницы с указанным тегом, но это не самое красивое и удобное решение, | ||
+ | особенно, если используете теги для других нужд. | ||
== Решение == | == Решение == | ||
+ | |||
+ | В этой статье будет приведен макрос, решающий нашу задачу, но сначала нужно будет внести некоторые изменения в тип данных | ||
+ | "Сюжет публикации", добавим в этот тип данных следующую группу полей и поле, обязательно с теми же идентификаторами: | ||
+ | |||
+ | [[Файл:Subject2.png]] | ||
== Описание макроса == | == Описание макроса == |
Версия 14:57, 31 октября 2013
Актуально для версии 2.9.1
Содержание
Задача
Стандартно в UMI.CMS у типа данных "Новость" есть поле "Сюжеты", также есть одноименный тип данных. У любой новости можно выбрать некоторое количество сюжетов:
Есть макрос %news related_links()%, который выводит список последних новостей, связанных по сюжету с указанной новостью. А если мы просто захотим вывести все новости, у которых указан определенный сюжеты или сюжеты, то такого макрос в системе нет. Можно конечно указать у новости тег и вывести все страницы с указанным тегом, но это не самое красивое и удобное решение, особенно, если используете теги для других нужд.
Решение
В этой статье будет приведен макрос, решающий нашу задачу, но сначала нужно будет внести некоторые изменения в тип данных "Сюжет публикации", добавим в этот тип данных следующую группу полей и поле, обязательно с теми же идентификаторами: