Необходимо написать фильтр для сайта
Вид такого калькулятора представлен на странице:
Нужно предусмотреть возможность выбирать и выводить на разных страницах разные параметры для фильтрации, т. к. страницы будут соответствовать разным товарам, имеющим разные характеристики (параметры).
На странице примере по виниловому сайдингу фильтр часто работает некорректно, имеет много багов.
В частности выбрать можно только один вид профиля, после выбора остальные скрываются этого не должно быть. После того, как они скрываются, поле кажется пустым, т. к. выбранный блок съезжает влево.
Нужна возможность выбрать любое количество видов профиля по виниловому сайдингу и видов сайдинга по металлическому из доступных. Скрываться ничего не должно.
Кроме того надо добавить возможность выбрать и очистить все значения у каждого параметра.
Параметры фильтрации по виниловому сайдингу:
Материал
Страна производителя
Гарантия, лет
Толщина панели, см
Вид профиля (с картинками, при наведении подсказка)
Цвет (при наведении подсказка)
Цена
Ассортиментная матрица в админке
Параметры фильтрации по металлическому сайдингу:
Вид профиля
Вид покрытия (при наведении подсказка)
Толщина панели, см
Вид сайдинга (с картинками, при наведении подсказка название)
Цвет (при наведении подсказка название)
Цена
Ассортиментная матрица есть:
По другим категориям параметры фильтрации пока не согласованы с заказчиком.
Максимальное количество параметров, по которым будет осуществляться фильтрация по другим категориям, думаю, не более 10 шт.
В качестве параметра (заголовка) выдается название параметра, в качестве значений, я думаю, нужна возможность выбрать, что будет выдаваться, картинка или текст, а также выбрать, будет ли какая-то подсказка.
Параметр название столбцов в ассортиментной матрице, такие, как цвет, цена, вид профиля и т. д.
Значения параметра представленные по столбцам конкретные характеристики параметров, для цвета красный, зеленый, коричневый и т.д.
Заполнение:
Параметры не должны являться обязательными к заполнению. Если не выделено ни одного значения параметра, предполагается, что надо показать все товары, как если бы все возможные значения были заполнены.
Если ничего не выделено, то выводим, как будто выделены все
если какие-то параметры несовместимы, типа если у какого-то вида сайдинга скажем только несколько видов покрытия, отсутствующие должны стать неактивными
если выделяют еще другой вид, то добавляются активные, которых не было в первом дополнительно.
Этот принцип одинкаков для всех параметров.
Для цветов и тех параметров, которые будут картинками, мы добавим ховер.
Для тех параметров (пример вид сайдинга по металлическому сайдингу) в строке производим сортировку, недоступные перемещаются правее доступных.
В комментариях к подобным значениям добавится нижняя строчка:
Недоступно при выбранной конфигурации
Выдача результатов:
Для выдачи реализовать тоже возможность выбрать способ, какие параметры будут группироваться, в виниловом сайдинге группируется цвет.
В металлическом пусть группируются еще и виды покрытия (но дополнительно в админке разрешить отмену такой группировки).
Если выбирается несколько видов покрытия и несколько видов, а у конкретного вида есть не все, то выводится активный (цена и гарантия для него), а остальные (где кнопки в карточке выглядят как доступные, т. е. Более яркие, чем те, которые пользователь не выбирал).
Группировка сначала те, что выбраны в фильтре, потом остальные.
В таблице тоже сначала активные, потом остальные.
Выдача осуществляется по кнопке «выбрать».
если выбраны цвета, то выдаются модели, у которых есть хотя бы один из выбранных цветов.
Покрытия, если несколько, то надо, чтоб было хотя бы одно из выбранных было у товара.
Т.е. Товары, которые отличаются только видом покрытия (который, в свою очередь, влияет на гарантию и цену), можно считать одним товаром ему соответствует одна карточка.
Вид см как на картинке с карточкой в прототипе, примерно как с цветом.
Когда меняются группируемые параметры, остальные выдаваемые тоже должно быть можно выбрать, в частности, табличка выдаваться не будет, если вид покрытия «разгруппирован».
Перед использованием тоже должно быть можно выбрать параметры.
По металлическому сайдингу до фильтрации сгруппированы виды покрытия, по виниловому актуальный набор параметров на
Итоговый продукт будет на странице
,
и еще трех страницах.
Во вложении вид конфигуратора (картинка подбираемые поля)
Вот вид того, что будет выводиться
Цена и гарантия зависят от вида покрытия
По возможности сделать так, чтоб фильтровалось без необходимости нажимать на красную кнопку "Подобрать материал" (см картинку во вложении)
Сроки горят!
Жду вопросов и комментариев.