Как вывести фильтр по товарам по всему каталогу(XSLT) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
Для того чтобы вывести фильтр по объектам каталога рекурсивно, а не по одному разделу, нужно  
 
Для того чтобы вывести фильтр по объектам каталога рекурсивно, а не по одному разделу, нужно  
 
воспользоваться следующей конструкцией:
 
воспользоваться следующей конструкцией:
Строка 4: Строка 6:
 
<xsl:apply-templates select="document('udata://catalog/search////80')" />
 
<xsl:apply-templates select="document('udata://catalog/search////80')" />
 
</source>
 
</source>
[[category:Верстка в XSLT]]
+
[[category:Верстка в XSLT]][[Категория:Модуль Каталог]]
 
где 80 - идентификатор (id) типа данных “Объект каталога” (параметр type id). Если указать при  
 
где 80 - идентификатор (id) типа данных “Объект каталога” (параметр type id). Если указать при  
 
вызове макроса '''%catalog search()%''' параметр type_id , то вне зависимости от места нахождения  
 
вызове макроса '''%catalog search()%''' параметр type_id , то вне зависимости от места нахождения  

Версия 08:17, 5 июня 2013

Актуально для версии 2.9

Для того чтобы вывести фильтр по объектам каталога рекурсивно, а не по одному разделу, нужно воспользоваться следующей конструкцией:

<xsl:apply-templates select="document('udata://catalog/search////80')" />

где 80 - идентификатор (id) типа данных “Объект каталога” (параметр type id). Если указать при вызове макроса %catalog search()% параметр type_id , то вне зависимости от места нахождения этого типа данных в иерархии, система будет выводить поля этого типа данных.

<xsl:apply-templates select="document('udata://catalog/getObjectsList/notemplate/(mode=all)')" />

Этот вызов макроса %catalog getObjectsList()% выводит результаты фильтрации объектов каталога. Для того чтобы система вывела поля фильтра, она должна знать какие поля выводить для фильтрации. Для этого в модуле “ Шаблоны Данных” в типе данных “Объект каталога” в свойствах, по которым Вы хотите фильтровать должен быть активирован пункт "фильтруемое".