Логотип

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

catalog getSmartCatalog()

Название

%catalog getSmartCatalog()% — Выводит данные для формирования списка объектов каталога, с учетом параметров фильтрации.

Параметры: catalog getSmartCatalog( [template = 'default'], categoryId, limit, [ignorePaging = false, level = 1, fieldName = false, isAsc = true])

template

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

categoryId

Id раздела каталога

limit

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

ignorePaging

Игнорировать переход по страницам. Если поставить значение этого параметра равным "1", и в URL страницы будет присутствовать параметр p, то для этого макроса он будет проигнорирован.

level

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

fieldName

Название поля, по которому требуется отсортировать список объектов каталога

isAsc

Режим сортировки по-возрастанию/по-убыванию

Описание

Макрос выводит объекты каталога в указанном разделе (параметр categoryId). Количество подразделов на странице можно ограничить параметром limit. Если параметр не указан, выведется количество элементов, указанное в настройках модуля. Для организации фильтров макрос применяется в связке с макросом %catalog getSmartFilters()%. С помощью %catalog getSmartFilters()% строится форма фильтрации,а с помощью %catalog getSmartCatalog()% выводятся объекты каталога.

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

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

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

udata://catalog/getSmartCatalog/notemplate/45///2/

XML-ответ UData

<udata module="catalog" method="getSmartCatalog" 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>
</udata>

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

<lines>

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

<item>

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

@id

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

@alt_name

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

@link

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

@xlink:href

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

<total>

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

<per_page>

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

<category_id>

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

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

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

Простой вывод объектов: %catalog getSmartCatalog('default', 45, 25)%.

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

objects_block

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

%total%

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

%per_page%

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

%numpages%

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

%lines%

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

objects_block_empty

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

objects_block_search_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%

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