%structure.objList()%

На печать

%structure.objList()% – Выводит список подразделов указанного раздела сайта.

Основное отличие от макроса %structure.objView()% в том, что с помощью данного макроса нельзя вместе со списком вывести данные родительского раздела. 


%structure.objList(section_id, [templ_name = default, max_count = 0, order_by = 0, start_pos = 0, field = 0, value = 0])%


section_id

ID страницы, для которой необходимо вывести список подразделов. Здесь так же можно использовать селекторы.

templ_name

Шаблон оформления содержимого. Шаблоны находятся в папке /template/structure/objects. По умолчанию используется шаблон default.

max_count

Максимальное количество элементов списка. Используется, если осуществляется вывод подразделов.

Если параметр равен «0», макрос использует значение свойства number_of_items родительского раздела, если это свойство существует. Если параметр все-таки не определен, список выводится без ограничения на количество элементов.

order_by

Указывает, по какому полю и как сортировать элементы списка. Используется, если осуществляется вывод подразделов. Возможные варианты параметра:

  • Сортировка по любому полю. Например, последние созданные страницы «create_date DESC».
  • Сортировка по позиции в списке. Например, сортировка по позиции в обратном порядке «position DESC».
  • Вывод элементов в случайном порядке, например «random».

Если параметр равен «0», макрос использует значение свойства order_by родительского раздела, если это свойство существует. Если параметр все-таки не определен, список сортируется по позиции в порядке увеличения.

start_pos

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

field

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

value

Необходимое значение указанного поля. Проверяется на равенство.

Актуально для версии 1.1.9b
Можно указывать через пробел несколько дополнительных условий для выборки.


Структура шаблона


Шаблоны находятся в папке /template/structure/objects. По умолчанию используется шаблон default. Назначение и описание блоков читайте в разделе «Структура шаблонов для вывода объектов». Шаблон состоит из следующих блоков:

frame_list – Обязательный блок. Обрамление списка подразделов. Уточнение класса данных не используется.

list – Обязательный блок. Оформление элемента списка подразделов.

list_active – Необязательный блок. Оформление активного элемента списка подразделов.

empty – Необязательный блок. Оформление сообщения «Список пуст». Уточнение класса данных не используется.

separator – Необязательный блок. Оформление разделителя для элементов списка. Уточнение класса данных не используется.


Примеры



Вывод списка последних новостей

Ниже представлен пример вывода 10 последних новостей со всего сайта (не указывая конкретной категории) в оформлении шаблона news_list, с учетом что класс «Новость» имеет системное имя «news» и является наследником класса «section».

Вызов макроса:

%structure.objList(news, news_list, 10, publ_date DESC)%

Содержимое шаблона /template/structure/objects/news_list.tpl

// Блок frame_list. Обрамление списка новостей
$TEMPLATE['frame_list'] = <<<END
Свежие новости: <br />
%list%
END;

// Блок list. Оформление новости из списка 
$TEMPLATE['list'] = <<<END
<div class="news_line">
	<a href="%obj.url%">%obj.name%</a> %core.fdate(d.m.Y, %obj.publ_date%)%<br />
	%obj.notice%
</div>
END;

// Блок separator. Разделитель для списка новостей
$TEMPLATE['separator'] = <<<END
<div class="news_separator"></div>
END;



Что-то не так? Напиши, учтем!