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

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

Подскажите пожалуйста как реализовывать фильтры на интернет-магазинах?
У меня есть таблица товаров и таблица свойств товаров, связаны по id, каждое свойство товара отдельная запись в таблице и допустим товар с id 545 например имеет бренд LG и цвет Красный, нету такого, что один товар содержит в несколько цветов, так захотели люди.
Я формирую таким образом всё:
Значит есть отдельный метод который формирует список свойств фильтра и отображает его на странице, есть модель поиска, которая отбирает товары по заданным критериям.
Необходимо было сделать активные/неактивные чекбоксы, я реализовал это из списка доступных параметров после фильтрации. Проблема вот в чем, когда я выбираю цвет Красный, то все остальные цвета неактивные, поскольку после фильтрации выбора Цвет-Красный отобразился товар в красном цвете и синему не откуда взяться. Из каких данных мне получать список доступных фильтров как у розетке и т.д.? Помогите пожалуйста чем можете, не могу понять как все реализовано должно быть :oops:
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

список доступных фильтров нужно брать из неотфильтрованого списка товаров, конкретная реализация фильтров зависит от вашей структуры хранения свойств.
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

Не понял каким образом я смогу из всего списка свойств сделать неактивные? Они же все активные будут всегда
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

https://homelight.com.ua/store/ljustry? ... ps=4210_20 - пример реализованный как раз на yii2
список отмеченных галочек должен получаться из параметров запроса, из базы вы получаете доступные для выделения свойства
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

Галочки я проставляю, проблема в том из чего мне получить список доступных свойств чтобы отменить в фильтре какие доступные, какие не доступные свойства?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

shnir писал(а): 2018.02.19, 17:36 ... из базы вы получаете доступные для выделения свойства
detected писал(а): 2018.02.19, 17:46 ... не доступные свойства
какие это?
зачем вам недоступные?! выводите только те которые можно выбирать
Последний раз редактировалось andku83 2018.02.19, 17:51, всего редактировалось 1 раз.
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

У меня есть список свойств фильтра отдельно выведен, получаю список доступных свойств товаров, которые есть на момент фильтрации и на основании этих полученных свойств, я формирую какие свойства можно выбирать, а какие нельзя (Если в чекбокс не попал его параметр то делаю его не активным), вы написали что список доступных параметров надо выбирать из не отфильтрованных товаров, но в таком случае я получу полный список всех свойств и получится что всегда будут включены чекбоксы
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

https://homelight.com.ua/store/ljustry? ... ps=4210_20
На этом сайте не увидел после применения фильтра чтобы чекбоксы оставались некоторые активные для применения, а некоторые не доступные
someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

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

Сообщение someweb »

У вас отфильтрован красный, вы выводите список свойств всех товаров, у которых цвет красный. Таки что вы хотите? Что бы были другие цвета? Но их не может быть по определению вашего алгоритма выбора свойств для фильтра.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

Так я спрашиваю как по другому сделать, чтобы фильтр был как у розетке или надо обязательно чтобы товар имел несколько цветов и т.д.?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

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

https://homelight.com.ua/store/ljustri-ventiljatori - для примера в данной категории всего 2 бренда
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

При выборе фильтра Материал - металл, будут отображены все доступные свойства для выбора, а там где нет такого свойства в одном бренде допустим, он скроется, так?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

нет, если отталкиваться от розетки то она их не скрывает, а делает недоступными для выбора.
если вы хотите сделать так же то вам необходимо иметь 3 списка свойств:
- выбранные пользователем
- доступные для выбора в данной категории (то что было приведено в моем примере)
- доступные для выбора при применении текущего фильтра (отсутствующие в этом списке будут серыми)
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

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

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

Сообщение detected »

У меня есть все три списка, проблемный только этот
- доступные для выбора при применении текущего фильтра (отсутствующие в этом списке будут серыми)
Я получаю список свойств после применения фильтра и на оснвоании него делаю доступный/недоступный чекбокс, у меня при выборе красного цвета, он закрывает доступ ко всем остальным цветам по понятным причинам, как у розетке получается что можно выбирать несколько цветов и они не отключаются? Такое впечатление буд-то они берут свойства не из текущих товаров, а из другого чего-то, хочу понять как это реализовано
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

по-быстрому видится только реализация посредством запроса к списку значений свойства применяя текущие фильтра кроме фильтрации по текущему свойству
detected
Сообщения: 174
Зарегистрирован: 2017.06.16, 12:24

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

Сообщение detected »

То есть применяю я цвет Красный, он в чекбоксе отображается как отмечен, но его в список Цвет как свойство не включаю для формирования включенных/отключенных чекбоксов, а для всех остальных параметров я это свойство цвет красный учитываю, правильно понял?
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

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

Сообщение andku83 »

как-то так может быть как свойство, может быть как значение, все зависит от твоей архитектуры
Ответить