UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: prada666 от 04 Декабря 2017, 13:01:51
-
Добрый день. Прочитала все связанные темы и никак не могу разобраться как сделать фильтры в шаблонизаторе XSLT.
Нужен фильтр с бегунками по цене и фильтр по характеристикам с чекбоксами и множественным выбором....
-
Вопрос комплексный)
Если хоть как-то сориентировать вас, то для начала:
- Понять, нужен ли адаптивный фильтр или нет (при выборе какого-то параметра, другие параметры блокируют "лишние" варианты)?
- Понять, каким макросом вы выводите фильтр 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 код (если у вас фильтр работает без перезагрузки страницы)?
-
Понять, нужен ли адаптивный фильтр или нет (при выборе какого-то параметра, другие параметры блокируют "лишние" варианты)? - адаптивный не нужен. будут разные фильтры в разных разделах
Понять, каким макросом вы выводите фильтр 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... Там весьма много лишнего для меня
-
адаптивный не нужен. будут разные фильтры в разных разделах
Адаптивность, немного в другом. Разные разделы не отменяют то факт, что при выборе цены, вы можете хотеть заблокировать выбор какого-то бренда, так как с ограниченной ценой нет товаров данного бренда.
Вкратце, смысл такой:
- В модуле "каталог" на вкладке "индексация" указываете нужный вам раздел (или родительский раздел, если вам нужно много подразделов). Там правда есть ограничение на максимальное кол-во индексируемых разных полей , но это пока опустим.
- Индексируете полученный раздел.
- Теперь, при вызове макроса udata://catalog/getSmartFilters//45/0/1 в адресной строке (подставьте актуальные для вас параметры), вы увидите xml со списком полей, которые участвуют в фильтре с их значениями.
- Вызывайте в шаблоне данный макрос и настраивайте xslt обработку данного xml таким образом, чтобы получить в итоге нужный для лицевой части html (например выводите данные для ползунков и корректно подключаете их через js)
- пишете js, который при изменения фильтра что-то делает (если у вас фильтр работает без перезагрузки страницы)
-
- Теперь, при вызове макроса udata://catalog/getSmartFilters//45/0/1 в адресной строке (подставьте актуальные для вас параметры), вы увидите xml со списком полей, которые участвуют в фильтре с их значениями.
udata://catalog/getSmartFilters//45/0/1 - не могу разобраться с параметрами. что это за 45, 0 и 1 , как их узнать.
-
Смотрите документацию http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/katalog/catalog_getsmartfilters/#content
Слэшом разделяются параметры, описание параметров по ссылке выше.
-
Дико извиняюсь за тупые вопросы. Как узнать Id элемента, каталога или типа данных?
-
id раздела(страницы) видно, когда наводите мышкой на страницу в админке или смотрите в адресной строке, когда редактируете нужный раздел.
id типа данных видно, при редактировании одного из товаров (которые будут фильтровать) при наведении на иконку "редактировать тип данных" (выглядит как иконка "редактировать" страницу в модуле "структура")
-
d раздела(страницы) видно, когда наводите мышкой на страницу в админке или смотрите в адресной строке, когда редактируете нужный раздел. - прилагаю скриншоты...
id типа данных видно, при редактировании одного из товаров (которые будут фильтровать) при наведении на иконку "редактировать тип данных" (выглядит как иконка "редактировать" страницу в модуле "структура") - так же скрины...
Мы с Вами можем связаться как то иначе?
-
еще один
-
Нет, я имел в виду другое))
Перейдите для редактирования страницы раздела, которая вас интересует. В адресной строке появиться цифра (где-то в конце адресной строки), это и есть id страницы.
А если при этом нажать на иконку карандаша в квадрате "редактирование типа данных" то в адресной строке страницы, куда вы перейдете, тоже будет число. Это скорее всего и будет нужный вам id типа данных.
Почему скорее всего? потому что у вас могут быть несколько типов данных для товаров, особенно если вы их создавали импортом из 1С.
P.S. Связаться со мной можно, например по скайпу umihelp, но в последнее время, беда со свободным временем. Так что, за оперативность ответа не могу поручиться.