Конфигуратор — сложный для разработчиков и очень важный для клиента модуль. Он отличается огромным количеством логики и сложным визуальным представлением.
Мы начали работы с визуала. Верстка слотов не доставила особых трудностей, однако над схемой системного блока пришлось подумать. В итоге мы провернули пару трюков с HTML и CSS, которые позволили по-хитрому контролировать поведение слоев и подсветки элементов блока.
Отдельного внимания заслуживает окно выбора товара в слот. Самой тяжелой здесь оказалась реализация фильтра «Совместимо», поскольку для этого требовалось четко определить, какие изменения фильтров покажут несовместимые товары, а какие — только уточнят поиск.
Мы потратили много времени на обсуждение с заказчиком, но смогли определить схему, при которой пользователь имеет минимальный шанс ошибиться при работе с фильтрами — интуитивность их состояния и отображения.
Также для этого окна мы добавили сохранение состояния при возврате, например, со страницы товара, чтобы пользователи быстро возвращались уже к настроенному списку товаров.