Логотип

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

catalog getObjectsList()

Название

%catalog getObjectsList()% — Выводит список объектов каталога в указанном разделе.

Параметры: catalog getObjectsList( [template = 'default', category_id = 0, limit = 0, ignore_paging = 0, i_need_deep = 0, field_id = 0, asc = 1])

template

Шаблон, по которому выводятся объекты каталога. В XSLT-шаблонизаторе игнорируется, можно указать любое значение.

category_id

id или путь до раздела каталога.

limit

Количество объектов, выводимых на странице.

ignore_paging

Игнорировать постраничный вывод.

i_need_deep

Глубина поиска объектов списка (во вложенных подразделах). По умолчанию — только в текущем разделе.

field_id

id или имя поля, по которому должна выполняться сортировка. По умолчанию сортировка выполняется по расположению объектов в иерархии.

asc

Порядок сортировки. Значение "1" задает прямой порядок сортировки, "0" — обратный.

Примечание: Сортировка по порядку действует только в пределах одного уровня вложенности.

Описание

Макрос выводит объекты каталога в указанном разделе (параметр category_id). Если category_id не указан, берется id текущей страницы. Количество объектов каталога на странице можно ограничить параметром limit. Если параметр не указан, выведется количество элементов, указанное в настройках модуля.

Внимание: В режиме совместимости модулей (автоматически включается, если используется PHP7) описываемый устаревший макрос отсутствует. Для получения списка объектов каталога можно использовать оптимизированный макрос catalog getSmartCatalog().

$objects = $this->macros('catalog', 'getObjectsList', array(null, $page->getId(), null, null, 2));

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

udata://catalog/getObjectsList/notemplate/(/market/hamsters/)/10/0

XML-ответ UData

<udata module="catalog" method="getObjectsList" generation-time="0.009930">
  <lines>
    <item id="45" alt_name="homyachok_pushistyj" link="/market/hamsters/homyachok_pushistyj/"
     xlink:href="upage://45">Хомячок пушистый</item>
    <item id="47" alt_name="homyachok_obychnyj" link="/market/hamsters/homyachok_obychnyj/"
     xlink:href="upage://47">Хомячок обычный</item>
    <item id="48" alt_name="homyachok_na_kolesah" link="/market/hamsters/homyachok_na_kolesah/"
     xlink:href="upage://48">Хомячок на колесах</item>
    <item id="50" alt_name="homyachok_smile" link="/market/hamsters/homyachok_smile/"
     xlink:href="upage://50">Хомячок с улыбкой</item>
    <item id="54" alt_name="testovyj_homyak" link="/market/hamsters/testovyj_homyak/"
     xlink:href="upage://54">Тестовый хомяк</item>
  </lines>
  <total>9</total>
  <per_page>10</per_page>
  <category_id>44</category_id>
  <type_id>772</type_id>
</udata>

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

<lines>

Ветвь, содержащая элементы item — объекты каталога в указанном разделе.

<item>

Элемент, описывающий объект каталога. Содержимое элемента — название объекта.

@id

Идентификатор объекта.

@alt_name

Краткий URL страницы объекта каталога (поле псевдостатический адрес).

@link

Полная ссылка на страницу объекта каталога.

@xlink:href

Ссылка UPage на страницу объекта каталога.

<total>

Общее количество объектов в указанном разделе.

<per_page>

Количество объектов, отображаемых на странице.

<category_id>

Идентификатор раздела каталога.

<type_id>

Идентификатор типа преобладающих объектов в этом разделе (лучше помещать однородные). Используется для построения фильтров по полям объектов.

Вывод осуществляется по шаблону, указанному в параметре template (по умолчанию default.tpl).

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

Простой вывод объектов: %catalog getObjectsList('default', '/cars/')%.

Простой вывод объектов по пользовательскому шаблону: %catalog getObjectsList('sample', '/cars/', 10)%.

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

objects_block

Общий блок для вывода объектов.

%total%

Общее количество объектов.

%per_page%

Количество объектов на странице.

%numpages%

Выводит нумератор страниц.

%lines%

Указывает место, куда будет выведен список объектов.

objects_block_empty

Этот блок выводится когда нет ни одного доступного объекта.

objects_block_line

Блок для вывода каждого объекта.

%id%

id объекта.

%link%

Url подробного описания объекта.

%text%

Имя объекта.

%list-class-first%

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

%list-class-last%

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

%list-class-odd%

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

%list-class-even%

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

%list-position%

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