Страница 1 из 1

Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 16:22
detected
Подскажите пожалуйста как реализовывать фильтры на интернет-магазинах?
У меня есть таблица товаров и таблица свойств товаров, связаны по id, каждое свойство товара отдельная запись в таблице и допустим товар с id 545 например имеет бренд LG и цвет Красный, нету такого, что один товар содержит в несколько цветов, так захотели люди.
Я формирую таким образом всё:
Значит есть отдельный метод который формирует список свойств фильтра и отображает его на странице, есть модель поиска, которая отбирает товары по заданным критериям.
Необходимо было сделать активные/неактивные чекбоксы, я реализовал это из списка доступных параметров после фильтрации. Проблема вот в чем, когда я выбираю цвет Красный, то все остальные цвета неактивные, поскольку после фильтрации выбора Цвет-Красный отобразился товар в красном цвете и синему не откуда взяться. Из каких данных мне получать список доступных фильтров как у розетке и т.д.? Помогите пожалуйста чем можете, не могу понять как все реализовано должно быть :oops:

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:25
andku83
список доступных фильтров нужно брать из неотфильтрованого списка товаров, конкретная реализация фильтров зависит от вашей структуры хранения свойств.

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:30
detected
Не понял каким образом я смогу из всего списка свойств сделать неактивные? Они же все активные будут всегда

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:36
andku83
https://homelight.com.ua/store/ljustry? ... ps=4210_20 - пример реализованный как раз на yii2
список отмеченных галочек должен получаться из параметров запроса, из базы вы получаете доступные для выделения свойства

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:46
detected
Галочки я проставляю, проблема в том из чего мне получить список доступных свойств чтобы отменить в фильтре какие доступные, какие не доступные свойства?

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:49
andku83
shnir писал(а): 2018.02.19, 17:36 ... из базы вы получаете доступные для выделения свойства
detected писал(а): 2018.02.19, 17:46 ... не доступные свойства
какие это?
зачем вам недоступные?! выводите только те которые можно выбирать

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:56
detected
У меня есть список свойств фильтра отдельно выведен, получаю список доступных свойств товаров, которые есть на момент фильтрации и на основании этих полученных свойств, я формирую какие свойства можно выбирать, а какие нельзя (Если в чекбокс не попал его параметр то делаю его не активным), вы написали что список доступных параметров надо выбирать из не отфильтрованных товаров, но в таком случае я получу полный список всех свойств и получится что всегда будут включены чекбоксы

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:56
detected
https://homelight.com.ua/store/ljustry? ... ps=4210_20
На этом сайте не увидел после применения фильтра чтобы чекбоксы оставались некоторые активные для применения, а некоторые не доступные

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 17:59
someweb
У вас отфильтрован красный, вы выводите список свойств всех товаров, у которых цвет красный. Таки что вы хотите? Что бы были другие цвета? Но их не может быть по определению вашего алгоритма выбора свойств для фильтра.

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:01
detected
Так я спрашиваю как по другому сделать, чтобы фильтр был как у розетке или надо обязательно чтобы товар имел несколько цветов и т.д.?

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:03
andku83
detected писал(а): 2018.02.19, 17:56 https://homelight.com.ua/store/ljustry? ... ps=4210_20
На этом сайте не увидел после применения фильтра чтобы чекбоксы оставались некоторые активные для применения, а некоторые не доступные
походите по разным категориям товаров список чекбоксов зависит от наличия товаров с такими значениями свойств, недоступные для данной категории просто не отображаются

https://homelight.com.ua/store/ljustri-ventiljatori - для примера в данной категории всего 2 бренда

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:11
detected
При выборе фильтра Материал - металл, будут отображены все доступные свойства для выбора, а там где нет такого свойства в одном бренде допустим, он скроется, так?

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:17
andku83
нет, если отталкиваться от розетки то она их не скрывает, а делает недоступными для выбора.
если вы хотите сделать так же то вам необходимо иметь 3 списка свойств:
- выбранные пользователем
- доступные для выбора в данной категории (то что было приведено в моем примере)
- доступные для выбора при применении текущего фильтра (отсутствующие в этом списке будут серыми)

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:21
andku83
кстати ручным заполнением фильтров розетку тоже можно привести к состоянию "ничего не найдено"
(https://rozetka.com.ua/notebooks/c80004 ... 863=25207/)
А вообще убирание из доступа чекбоксов необходима для того чтобы не получился подобный запрос без результатов

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:22
detected
У меня есть все три списка, проблемный только этот
- доступные для выбора при применении текущего фильтра (отсутствующие в этом списке будут серыми)
Я получаю список свойств после применения фильтра и на оснвоании него делаю доступный/недоступный чекбокс, у меня при выборе красного цвета, он закрывает доступ ко всем остальным цветам по понятным причинам, как у розетке получается что можно выбирать несколько цветов и они не отключаются? Такое впечатление буд-то они берут свойства не из текущих товаров, а из другого чего-то, хочу понять как это реализовано

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:30
andku83
по-быстрому видится только реализация посредством запроса к списку значений свойства применяя текущие фильтра кроме фильтрации по текущему свойству

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 18:34
detected
То есть применяю я цвет Красный, он в чекбоксе отображается как отмечен, но его в список Цвет как свойство не включаю для формирования включенных/отключенных чекбоксов, а для всех остальных параметров я это свойство цвет красный учитываю, правильно понял?

Re: Фильтр товаров, помогите пожалуйста разобраться

Добавлено: 2018.02.19, 19:30
andku83
как-то так может быть как свойство, может быть как значение, все зависит от твоей архитектуры