Логотип

Документация по макросам и шаблонам UMI.CMS

news related_links()

Название

%news related_links()% — Выводит список последних новостей, связанных по сюжету с указанной новостью.

Параметры: news related_links(element_path [, template = 'default', limit = '3'])

element_path

Путь до новости, для которой необходимо вывести список связанных новостей.

template

Имя шаблона, по которому следует вывести список связанных новостей.

limit

Число, которое ограничивает количество выводимых связанных новостей.

Описание

Выводит связанные новости с новостью, указанной в параметре element_path.

Связанные новости — это новости, которые имеют общий сюжет (соответствующее поле в редактировании новости). Сюжеты — это списки ключевых фраз, которые характеризуют содержание новости. Если есть несколько новостей, у которых совпадает как минимум 1 сюжет, они считаются связанными.

Такие новости будут выведены в списке связанных новостей и отсортированы по дате публикации в обратном порядке.

Дополнительные сведения

<?=$this->render($this->macros('news', 'related_links'), 'news/relatedlinks') ?>

Пример вызова

udata://news/related_links/(vse_novosti/novosti_ekonomiki/belorussiya_otmenit)/notemplate/3

XML-ответ UData

<udata module="news" method="related_links" generation-time="0.011270">
  <items>
    <item 
      id="80" 
      link="/vse_novosti/novosti_ekonomiki/belorussiya_otmenit_kvoty_na_sigarety1/" 
      xlink:href="upage://80">
      Белоруссия отменит квоты на сигареты из России
    </item>
    <item 
      id="73" 
      link="/vse_novosti/novosti_ekonomiki/rossiya_i_belorussiya_otkazalis/" 
      xlink:href="upage://73">
      Россия и Белоруссия отказались от ограничений во взаимной торговле
    </item>
  </items>
</udata>

Элементы и атрибуты

<items>

Ветвь, включающая элементы <items> — новости, связанные с указанной новостью.

<item>

Элемент, содержащий данные об отдельной новости, связанной с указанной новостью. Значение элемента — название страницы новости.

@id

Идентификатор страницы связанной новости.

@link

Ссылка на страницу полного текста связанной новости.

@xlink:href

Ссылка UPage на страницу полного текста связанной новости.

Параметр template определяет шаблон, по которому выводится блок "связанные новости". Вы можете не указывать этот параметр, в этом случае для вывода содержания новости будет использован шаблон по умолчанию — default.tpl.

Пример вызова

%news related_links('vse_novosti/novosti_ekonomiki/belorussiya_otmenit','default',3)%

Используемые шаблоны

Макрос оперирует шаблонами, находящимися в каталоге /tpls/news/.

Используемые блоки шаблона

related_block

Этот блок используется для оформления списка связанных новостей.

%lines%

Выводит список связанных новостей, где каждая выводится по шаблону related_line .

%related_links%

Дубликат макроса %lines%.

related_block_empty

Используется в том случае, если у новости element_path нет связанных новостей. Выводится вместо блока related_block.

related_line

Выводит отдельную связанную новость.

%id%

Выводит id связанной новости.

%name%

Выводит название связанной новости.

%link%

Выводит ссылку на связанную новость.

%list-class-first%

в случае, если элемент первый, выводит "first"

%list-class-last%

в случае, если элемент последний, выводит "last"

%list-class-odd%

в случае, если элемент четный, выводит "odd"

%list-class-even%

в случае, если элемент нечетный, выводит "even"

%list-position%

вставляет порядковый номер в списке

Примеры использования

Напишите в шаблон /tpls/news/default.tpl следующее:


<?php
$FORMS = Array();


$FORMS['view'] = <<<END

%data getProperty(%id%, 'publish_pic', 'news.view')%

%content%

%news related_links(%id%)%

END;



$FORMS['related_block'] = <<<END

<div id="related_news">
<p>Список связанных новостей:</p>
<ul>
%lines%
</ul>
</div>

END;

$FORMS['related_line'] = <<<END
<li><a href="%link%"><b>%name%</b> (%system convertDate(%publish_time%, 'Y-m-d H:i')%)</a></li>
END;

$FORMS['related_block_empty'] = <<<END

<p>У этой новости нет связанных новостей</p>

END;

?>