Фильтр товаров как правильно настроить

Главные вкладки

Аватар пользователя varnava varnava 22 апреля 2013 в 13:01

Добрый день подскажите как правильно настроить, похожий фильтр

http://ukrmart.com/noutbuki-i-aksessuari/noutbuki?brand=samsung

или http://ukrmart.com/melkaya-bitovaya-tehnika/mbt-tehnika-dlya-kuhni/aerog...

тоесть в зависимости от выбранной рубрики показываются те или иные параметры фильтрации товаров.

Комментарии

Аватар пользователя varnava varnava 22 апреля 2013 в 13:34

Представьте в магазине более 200 подразделений каталога то есть получается нужно будет создать 200 Views представлений вывести их блок и показывать эти представления только на определенных страницах каталога, это просто ужас будет.

Аватар пользователя neltharian neltharian 22 апреля 2013 в 13:46

"marazmus" wrote:
Навскидку - разные Views в одном стиле.

успехов в садомазохизме.

"varnava" wrote:
Добрый день подскажите как правильно настроить, похожий фильтр

Берете Views+Search APi + Facets результат смотреть тут http://demo.commerceguys.com/ck/products

Также рекомендую эту сборку поставить у себя и поковырять - отпадет много вопросов как такие штуки делаются. Плюс в нете (не в росийском) много обучалок по данной связке модулей

Аватар пользователя marazmus marazmus 23 апреля 2013 в 12:55

"neltharian" wrote:
успехов в садомазохизме

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

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

"varnava" wrote:
вывести их блок

Для вывода блоков нужно использовать Context, а не встроенную систему блоков Друпала. Настроил и забыл.

"varnava" wrote:
показывать эти представления только на определенных страницах каталога

Для шестерки одно из решений - Taxonomy Views Integrator. Настроил и забыл. При необходимости - редактирование раздела и цепляние другой вьюхи. Что сложного?

Аватар пользователя marazmus marazmus 23 апреля 2013 в 13:00

"varnava" wrote:
Представьте в магазине более 200 подразделений каталога

У меня под рукой магазин на Д6 + Уберкарт, 440 разделов в каталоге.Просто не все из них требуют фильтрации, поэтому и у меня и у вас количество уникальных views будет не более 30-50 штук. И кнопку "Клонировать представление" отменили что-ли? Госдума запретила? Использовать один класс и теги views для легкой темизации однотипных views тоже путин запретил?

Аватар пользователя yurasandul@gmail.com yurasandul@gmail.com 23 апреля 2013 в 16:44

Как делал я.
Допустим в каждом типе товара максимум 5 (или 10, это не важно) видов характаристик которые необходимо выводить в блоки фильтров.

1. Делается 1 словарь свойств в котором "Родитель" это название словаря, а дети это сами свойства.
Например:
--------
Цвет
-Красный
-Синий
Ширина
-10см
-20см
Размер по диагонали
-19
-21
-22
-24
и т.д.
2. Делается нода-товар в которой есть 5 полей ( f1, f2 и т.д. ) ссылающихся на один и тоже справочник таксономии который из п.1
3. Создаем справочник для типов товара в котором указываем что например:
тип товара 1 - поле f1 это "Цвет", поле f2 это "Размер по диагонали" и т.д.
тип товара 2 - поле f1 это "Размер по диагонали", поле f2 это "ширина" и т.д
можно свойства указывать не во всех полях.
4. Делается форма ввода товара первым полем которой указывается тип товара, и по аяксу подгружаются виджеты с установленными значениями полей f1 - f5, причем если свойство уникально грузим селекты, если значений несколько то чекбоксы.

Дальше SearchAPI, FasetAPI...

Что имеем на выходе. Одна форма ввода на весь товар, один вьюс на весь товар, фасетные блоки по полям f1 - f5 сформируются сами, причем если значений в поле не будет то и фасетный блок не покажется. Одно ограничение, вьюс должен показывать только один тип товара, поскольку поле f1 в разных товарах - разные свойства и это все в фасетном блоке перемешается (например "цвет" с "размером по диагонали"), проще говоря не выводить телевизоры вместе с кафельной плиткой.

Написано много, но все не так страшно.

Аватар пользователя marazmus marazmus 23 апреля 2013 в 17:50

"sandul" wrote:
вьюс должен показывать только один тип товара

Разделы "Телевизоры" и "Холодильники" в вашем случае это будут разные Views, получается? Ведь типы товара явно отдельные, со своими полями. Это просто вопрос, хочу понять жизнеспособность решения. Спасибо.

Аватар пользователя yurasandul@gmail.com yurasandul@gmail.com 23 апреля 2013 в 18:37

Нет, вьюс один и тот же.
Тип товара один - товар.
Телевизоры или холодильники это справочник таксономии, он же основной справочник каталога ( п.3 ) и он же контекстный фильтр для вьюса (главное меню).
Может не так объясняю.
Каталог это таксономия с дополнительными полями где указано что показывать в полях f1-f5 товара.
beautyful.com.ua (на внешний вид не смотри, будет менятся)
Все блоки которые ниже "бренда", выводятся по такому принципу
Главное меню это основная таксономия каталога и конфигуратор дополнительных полей характеристик f1-f5.

Аватар пользователя Andruxa Andruxa 10 ноября 2015 в 11:49

о, как здорово что все вы здесь сегодня собрались

возникла та же задача, решил сделать под неё модуль с такой логикой:
- у терминов таксономии из словаря каталога выбираем поля, которые являются характеристиками товаров в данной категории
- в типе материала, являющегося товаром, в отдельную группу полей добавляем все возможные поля с характеристиками, кто-то считает, что их может быть 200-400, кто-то - что их может быть 50-60, я склоняюсь ко второй цифре
- в форме создании материала-товара выводим те поля, которые нужны в данной категории каталога (указаны в термине словаря)

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

а теперь слайды:

настройки модуля, тут всё ясно


альтерим форму термина из словаря, выбранного в настройках

с формой ноды пока сложность - сначала надо указать термин-раздел каталога, а потом на основании этого значения выводить нужные поля, пока реализовано с помощью модуля Multistep, но геморроя от него больше чем профита, думаю что стоит просто повесить ajax на поле с термрефренсом и при его изменении грузить нужные поля

вот тут поле "Напряжение" должно быть обязаельным, т.к. участвует в фасетах, но мультистеп, сука бессердечная...

далее предполагается делать свой блок для вывода фасетов в зависимости от категории, ну и с фидами поженить свой модулёк тоже хотелось бы

так вот, к чему все эти многобукф
- братцы, а не велосипед ли я изобретаю?

Аватар пользователя yurasandul@gmail.com yurasandul@gmail.com 24 апреля 2013 в 8:51

"Andruxa" wrote:
- братцы, а не велосипед ли я изобретаю?

Не, все нормально, так и должно быть.
Когда у меня дошло до 3-х типов товаров, 3-х вьюсов, 3-х комплектов блоков и надо быпо кое-что подправить, стало понятно что так дальше нельзя. Всех нужно както назвать, помнить где что находится... а Вы говорите максимум 30-50.
Если интересно чуть позже сделаю скрины с формы ввода чтобы было понятно.