ответ очень прост, хотя никак не очевиден)
используйте <xsl:apply-templates select="document('udata://catalog/search/id')" />
, где id номер каталога с товарами (любого ) или более правильный вариант
<xsl:apply-templates select="document('udata://catalog/search////11')" />
пояснение:
дело в том что для того чтобы система вывела поля фильтра она должна знать какие поля выводить для фильтрации (для этого в шаблоне данных у поля должна стоять галочка "фильтровать"), но это еще не все система же должна знать в каком типе данных искать поля для фильтрации, по умолчпнию фильтр выводит поля относящиеся к типу данных который доминантен в данном разделе (раздел это первый параметр макроса, если он не указан берется id текущей страницы), в первом варианте мы подкинули системе id раздела внутри которого лежат объекты каталога и она правильно определила тип домининрующих страниц., но так как к разделу привязывать не стоит (вдруг его удалят).
В макросе search есть еще один параметр, который не описали в документации. Параметры макроса:
public function search($category_id = false, $group_names = "", $template = "default", $type_id = false)
первые 3 описанны, а вот 4 и есть тот тип данных (hierarhy type id)? который система и определяет пj id раздела (наш первый вариант), и если указать при вызове макроса search параметр $type_id , то внезависимости от места вызова система будет выводить поля этого типа данный (11 это id типа данных "объект каталога"). отсюда и получилась у нас строчка <xsl:apply-templates select="document('udata://catalog/search////11')" />
Как я вижу - у меня сходная задача, то есть вывод фильтров у меня такой:
<xsl:apply-templates select="document(concat('udata://catalog/search////', 132))"/>
где 132 это ID типа данных объекта каталога, по параметрам которого необходимо делать поиск по фильтрам.
Вывод этих фильтров успешно выводится у меня в шаблоне "сквозняком", то есть на всех страницах сайта, включая и на главной странице сайта и на всех остальных контентных, новостных и прочих.
Но на данный момент результаты поиска по фильтрам выводятся только в разделах каталога.
Вопрос вот в чём: как вывести эти результаты поиска на отдельную контентую страницу (специально созданную в структуре сайта) ? Или как выводить эти результаты на главную страницу каталога
http://domen.ru/shop/, если можно обойтись без отдельной контентной страницы ?
Ведь пользователь, допустим, находясь на главной странице или к примеру на странице новостей вдруг захочет воспользоваться поиском по каталогу и результатов не увидит...
В идеале хотелось бы вывести результаты поиска по фильтрам на главный раздел каталога, который выводится по такому шаблону:
<xsl:template match="result[page/@type-id=82]">
<div umi:element-id="{$document-page-id}" umi:field-name="descr" umi:empty="&empty-page-content;">
<xsl:value-of select=".//property[@name = 'descr']/value" disable-output-escaping="yes" />
</div>
<xsl:apply-templates select="document('udata://catalog/getObjectsList/notemplate/(mode=all)')" />
</xsl:template>
где 82 это ID типа данных "Раздел каталога"