Фильтр товаров (frontend)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
CyanoFresh
Сообщения: 68
Зарегистрирован: 2015.02.05, 23:50
Контактная информация:

Фильтр товаров (frontend)

Сообщение CyanoFresh »

Всем привет. Есть такая структура бд: http://image.prntscr.com/image/6620b793 ... 61e59e.png
С этим вроде разобрался, а вот как делать вывод этих фильтров и фильтрацию потом - не до конца. Как я понимаю нужна get форма с чекбоксами, как то так:

Код: Выделить всё

<input type="checkbox" name="filters[имя_параметра][]" value="значение_параметра">
сейчас это работает, но есть некоторые проблемы:
- как подсвечивать отмеченные чекбоксы
- как отменять выделение чекбокса, ведь параметры в GET не убираются

Яндекс маркет вообще использует такой url: ?filter=ID_параметра:значение_параметра1,значение_параметра2...
Какой вариант лучше? И как правильно делать это на фронтенде?
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Фильтр товаров (frontend)

Сообщение rodion_zlobin »

как подсвечивать отмеченные чекбоксы
Использовать атрибут checked
Аватара пользователя
CyanoFresh
Сообщения: 68
Зарегистрирован: 2015.02.05, 23:50
Контактная информация:

Re: Фильтр товаров (frontend)

Сообщение CyanoFresh »

rodion_zlobin писал(а): 2017.04.01, 18:14
как подсвечивать отмеченные чекбоксы
Использовать атрибут checked
и как это будет выглядеть в моем случае?
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Фильтр товаров (frontend)

Сообщение urichalex »

CyanoFresh писал(а): 2017.04.01, 18:35
rodion_zlobin писал(а): 2017.04.01, 18:14
как подсвечивать отмеченные чекбоксы
Использовать атрибут checked
и как это будет выглядеть в моем случае?
Смотря чем вы будете генерировать чекбокс
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Фильтр товаров (frontend)

Сообщение rodion_zlobin »

Код: Выделить всё

<input type="checkbox" name="filters[имя_параметра][]" value="значение_параметра" <?= $searchModel['filters'][значение параметра] ? 'checked' : '' ?>>
Ответить