%structure.objView()%

На печать

%structure.objView()% – Выводит содержимое конкретного раздела сайта, при необходимости формирует список подразделов.

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

Данный макрос используется для вывода абсолютно всех видов страниц (наследников ORM-класса section, созданных в панели администрирования в модуле "Структура"), при обращении к ним через адресную строку.


%structure.objView(section_id, [templ_name = default, max_count = 0, order_by = 0, start_pos = 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

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


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


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

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

frame – Обязательный блок. Вывод контента страницы.

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

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

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

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

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


Примеры



Оформление страницы товара

  Пример написан исходя из следующих условий: 

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

// Блок frame. Оформление содержимого страницы просмотра товара
$TEMPLATE['frame_goods'] = <<<END

%structure.naviBar()%

<div style="float:right"><img src="%obj.image%" alt="%obj.name%" border="0"></div>

<br /><br />
%obj.content%
<br /><br />

Стоимость %obj.price% <br /><br />
Количество на складе: %obj.count% <br /><br />

<br clear="all" />
%list%

<a href="%back_url%">Вернуться к списку товаров</a>
END;

// Блок frame_list. Обрамление списка подразделов для страницы просмотр товара
$TEMPLATE['frame_goods_list'] = <<<END
	<br clear="all" /> 
	<br /><br /><br />
	%list%
END;

// Блок list. Оформление списка фотографий товара
$TEMPLATE['list_photo'] = <<<END
<div class="photo">
	<a href="%obj.url%">%obj.name%</a><br />
	<a href="%obj.url%"><img src="%obj.image%" width="100" alt="%obj.name%" border="0"></a>
</div>
END;

// Блок frame. Оформление страницы, просмотр фотографии в отдельном окне.
$TEMPLATE['frame_photo'] = <<<END
	<img src="%obj.image%" alt="%obj.name%" border="0">
END;?



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