В предыдущей главе приводился пример, когда компонент сам создает условие и форматирует вывод записей в зависимости от этого условия. Компонент может также реагировать на внешние условия или переменные. Например, на титульной странице нужно выводить 3 последних новости (записи из раздела «Новости» соответствующего компонента) в сокращенном виде. Допустим, в компоненте «Новости» два поля: анонс новости и полный ее текст, записи выводятся по 10 новостей на странице, а сам компонент имеет следующие шаблоны:
- Суффикс:
- Макет вывода записи:
Чтобы вывести 3 последних новости на титульную страницу, внесем в ее футер или хедер вызов следующей функции (пусть раздел «Новости» имеет номер 1, а номер компонента раздела – 2):
“.s_list_class(1, 2, “&isTitle=1&recNum=3).”
После этого на титульной странице будут выводиться три последних новости, но в полном виде и с листингом. Теперь нужно настроить шаблон под использование переменной $isTitle:
- Суффикс:
- Макет вывода объекта в списке:
Другой пример: объекты должны разделяться чертой (тег < hr>). Можно выводить < hr> в конце каждого объекта (в макете вывода объекта в списке), но в этом случае после последней записи также будет черта. Для решения этой задачи следует проверять в макете, не является ли этот объект последним на странице: