UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: prada666 от 04 Декабря 2017, 13:01:51

Название: Фильтр по товарам XSLT
Отправлено: prada666 от 04 Декабря 2017, 13:01:51
Добрый день. Прочитала все связанные темы и никак не могу разобраться как сделать фильтры в шаблонизаторе XSLT.
Нужен фильтр с бегунками по цене и фильтр по характеристикам с чекбоксами и множественным выбором....
Название: Re: Фильтр по товарам XSLT
Отправлено: admin от 06 Декабря 2017, 13:39:48
Вопрос комплексный)
Если хоть как-то сориентировать вас, то для начала:

- Понять, нужен ли адаптивный фильтр или нет (при выборе какого-то параметра, другие параметры блокируют "лишние" варианты)?
- Понять, каким макросом вы выводите фильтр http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/ или http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_search/
- Есть ли у вас верстка ползунков цены и чекбоксов?
- Делаете ли вы фильтр на базе demodizzy или сами пишите (планируете писать) js код (если у вас фильтр работает без перезагрузки страницы)?
Название: Re: Фильтр по товарам XSLT
Отправлено: prada666 от 06 Декабря 2017, 13:51:17
Понять, нужен ли адаптивный фильтр или нет (при выборе какого-то параметра, другие параметры блокируют "лишние" варианты)?  - адаптивный не нужен. будут разные фильтры в разных разделах

 Понять, каким макросом вы выводите фильтр http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/ или http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_search/ - пока никаким... Я не понимаю как этого сделать. в мануале указано использовать getsmartfilters

Есть ли у вас верстка ползунков цены и чекбоксов? -пока нет. Могу сделать в любой момент.

Делаете ли вы фильтр на базе demodizzy или сами пишите (планируете писать) js код (если у вас фильтр работает без перезагрузки страницы)? - Хотелось бы без demodizzy... Там весьма много лишнего для меня
Название: Re: Фильтр по товарам XSLT
Отправлено: admin от 06 Декабря 2017, 14:15:01
Цитировать
адаптивный не нужен. будут разные фильтры в разных разделах

Адаптивность, немного в другом. Разные разделы не отменяют то факт, что при выборе цены, вы можете хотеть заблокировать выбор какого-то бренда, так как с ограниченной ценой нет товаров данного бренда.

Вкратце, смысл такой:
- В модуле "каталог" на вкладке "индексация" указываете нужный вам раздел (или родительский раздел, если вам нужно много подразделов). Там правда есть ограничение на максимальное кол-во индексируемых разных полей , но это пока опустим.
- Индексируете полученный раздел.
- Теперь, при вызове макроса udata://catalog/getSmartFilters//45/0/1 в адресной строке (подставьте актуальные для вас параметры), вы увидите xml  со списком полей, которые участвуют в фильтре с их значениями.
- Вызывайте в шаблоне данный макрос и настраивайте xslt обработку данного xml таким образом, чтобы получить в итоге нужный для лицевой части html (например выводите данные для ползунков и корректно подключаете их через js)
- пишете js, который при изменения фильтра что-то делает (если у вас фильтр работает без перезагрузки страницы)
Название: Re: Фильтр по товарам XSLT
Отправлено: prada666 от 06 Декабря 2017, 14:18:09
- Теперь, при вызове макроса udata://catalog/getSmartFilters//45/0/1 в адресной строке (подставьте актуальные для вас параметры), вы увидите xml  со списком полей, которые участвуют в фильтре с их значениями.

udata://catalog/getSmartFilters//45/0/1 - не могу разобраться с параметрами. что это за 45, 0 и 1 , как их узнать.
Название: Re: Фильтр по товарам XSLT
Отправлено: admin от 06 Декабря 2017, 14:19:33
Смотрите документацию http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/#content
Слэшом разделяются параметры, описание параметров по ссылке выше.
Название: Re: Фильтр по товарам XSLT
Отправлено: prada666 от 06 Декабря 2017, 14:22:04
Дико извиняюсь за тупые вопросы. Как узнать Id элемента, каталога или типа данных?
Название: Re: Фильтр по товарам XSLT
Отправлено: admin от 06 Декабря 2017, 14:28:57
id раздела(страницы) видно, когда наводите мышкой на страницу в админке или смотрите в адресной строке, когда редактируете нужный раздел.
id типа данных видно, при редактировании одного из товаров (которые будут фильтровать) при наведении на иконку "редактировать тип данных" (выглядит как иконка "редактировать" страницу в модуле "структура")
Название: Re: Фильтр по товарам XSLT
Отправлено: prada666 от 06 Декабря 2017, 15:34:52
d раздела(страницы) видно, когда наводите мышкой на страницу в админке или смотрите в адресной строке, когда редактируете нужный раздел. - прилагаю скриншоты...

id типа данных видно, при редактировании одного из товаров (которые будут фильтровать) при наведении на иконку "редактировать тип данных" (выглядит как иконка "редактировать" страницу в модуле "структура") - так же скрины...

Мы с Вами можем связаться как то иначе?
Название: Re: Фильтр по товарам XSLT
Отправлено: prada666 от 06 Декабря 2017, 15:35:24
еще один
Название: Re: Фильтр по товарам XSLT
Отправлено: admin от 06 Декабря 2017, 19:36:00
Нет, я имел в виду другое))

Перейдите для редактирования страницы раздела, которая вас интересует. В адресной строке появиться цифра (где-то в конце адресной строки), это и есть id страницы.

А если при этом нажать на иконку карандаша в квадрате "редактирование типа данных" то в адресной строке страницы, куда вы перейдете, тоже будет число. Это скорее всего и будет нужный вам id типа данных.

Почему скорее всего? потому что у вас могут быть несколько типов данных для товаров, особенно если вы их создавали импортом из 1С.

P.S. Связаться со мной можно, например по скайпу umihelp, но в последнее время, беда со свободным временем. Так что, за оперативность ответа не могу поручиться.