Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод разных валют в разных доменах у каталога

Автор ivan23Раздел Настройка системы и модулей

Ответов: 3
Просмотров: 2063
Последний ответ 04 Апрель 2013, 22:05:40
от admin
Вывод объектов каталога с отдельными характеристиками объектов в таблице

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 19
Просмотров: 5904
Последний ответ 16 Июль 2013, 16:53:58
от thecoder
Магазин "Современный" - добавление заголовка к левому меню каталога

Автор manadsgnРаздел Шаблоны XSLT

Ответов: 4
Просмотров: 2083
Последний ответ 25 Июнь 2012, 17:33:00
от manadsgn
Опции товара + количество для этой опции

Автор kibal4iwРаздел Макросы UMI.CMS

Ответов: 6
Просмотров: 4237
Последний ответ 13 Апрель 2012, 18:15:38
от kibal4iw
Добавление поля "объем" в карточку товара, которое влияло бы на цену

Автор prukonРаздел Настройка системы и модулей

Ответов: 5
Просмотров: 695
Последний ответ 06 Ноябрь 2016, 14:44:49
от aghigay

0 Пользователей и 1 Гость просматривают эту тему.

*

ann_caly

  • *
  • 1
  • +0/-0
    • Просмотр профиля
Фильтр каталога по допполю товара
« : 14 Февраль 2018, 13:26:30 »
Здравствуйте!
Недавно работаю с umi и xslt, пока очень непонятны многие вещи.
Вопрос следующий. На сайте есть каталог товаров (разделы и подразделы, в подразделах товары). В товарах есть доп.поля. Нужно создать отдельные страницы, куда будут выводиться отфильтрованные по допполю товары.
Например, есть поле "Производитель" с селектом. Я хочу вывести на страницу /sony все товары данного производителя. Важно, что урл страницы должен быть без параметров, статический (насколько я поняла, н-р, fields_filter предусматривает использование параметров). Страницы нужны будут для нескольких допполей и всех их значений селекта.

Запрос для всех товаров из всех категорий (модуль catalog, метод category):
 <xsl:apply-templates select="document('udata://catalog/getObjectsList/notemplate/(/catalog/naushniki/)///2//?extProps=photo,name,is_hit,is_preview,is_recommended,common_quantity,is_preorder,artikul,anons,old_price,vendor')"/>
На этом этапе нужна фильтрация по допполю или же проверка при выводе карточек товара. Не понимаю, как это реализовать средствами xslt и umi.

Название производителя:
<xsl:variable name="select" select="//property[@name='vendor']/value/item/@name"/>

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Фильтр каталога по допполю товара
« Ответ #1 : 14 Февраль 2018, 15:47:07 »
Не очень понятно в чем вопрос.
XSLT - это шаблонизатор. Он ничего не фильтрует (ну или не должен фильтровать). Все, что выполняется - работает через макрос getObjectsList. И именно этот макрос возвращает отфильтрованные данные.
Во-первых стоит отказаться от использования этого макроса, так как он устарел и в некоторых версиях его нет. Пользуйтесь getSmartCatalog  (http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartcatalog/)
Во-вторых, чтобы фильтр был построен правильно, пользуйтесь для его построения макросом getSmartFilters (http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/)

Тогда getSmartFilters будет генерировать правильные данные для фильтра, а getSmartCatalog правильно их принимать.
И не забудьте переиндексировать каталог
Мой блог http://umicms.me