Вывод новостей по сюжету — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 3: Строка 3:
  
 
== Задача ==
 
== Задача ==
 +
 +
Стандартно в UMI.CMS у типа данных "Новость" есть поле "Сюжеты", также есть одноименный тип данных.
 +
У любой новости можно выбрать некоторое количество сюжетов:
 +
 +
[[Файл:Subject1.png]]
 +
 +
Есть макрос %news related_links()%, который выводит список последних новостей, связанных по сюжету с указанной новостью.
 +
А если мы просто захотим вывести все новости, у которых указан определенный сюжеты или сюжеты, то такого макрос в системе нет.
 +
Можно конечно указать у новости тег и вывести все страницы с указанным тегом, но это не самое красивое и удобное решение,
 +
особенно, если используете теги для других нужд.
  
 
== Решение ==
 
== Решение ==
 +
 +
В этой статье будет приведен макрос, решающий нашу задачу, но сначала нужно будет внести некоторые изменения в тип данных
 +
"Сюжет публикации", добавим в этот тип данных следующую группу полей и поле, обязательно с теми же идентификаторами:
 +
 +
[[Файл:Subject2.png]]
  
 
== Описание макроса ==
 
== Описание макроса ==

Версия 14:57, 31 октября 2013

Актуально для версии 2.9.1

Задача

Стандартно в UMI.CMS у типа данных "Новость" есть поле "Сюжеты", также есть одноименный тип данных. У любой новости можно выбрать некоторое количество сюжетов:

Subject1.png

Есть макрос %news related_links()%, который выводит список последних новостей, связанных по сюжету с указанной новостью. А если мы просто захотим вывести все новости, у которых указан определенный сюжеты или сюжеты, то такого макрос в системе нет. Можно конечно указать у новости тег и вывести все страницы с указанным тегом, но это не самое красивое и удобное решение, особенно, если используете теги для других нужд.

Решение

В этой статье будет приведен макрос, решающий нашу задачу, но сначала нужно будет внести некоторые изменения в тип данных "Сюжет публикации", добавим в этот тип данных следующую группу полей и поле, обязательно с теми же идентификаторами:

Subject2.png

Описание макроса

Листинг макроса

Применение в xslt

Применение в tpl