ИНТЕРНЕТ-МАГАЗИНЫ ПОД КЛЮЧ
Интернет магазин автозапчастей на CMS MODX EVOLUTION
Не так давно встала задача создания интернет-магазина автозапчастей с возможностью подбора товара по различным параметрам (характеристикам, марке и модели авто). При этом всё должно быть максимально компактно и удобно. В интернете существуют готовые решения, но мне они показались либо не совсем доделанными или громоздкими, поэтому решил делать всё на привычной и знакомой мне CMS Modx (Evolution).
И так на первом этапе определился с набором того что мне нужно для реализации, что-то уже входит в готовый пакет системы (сниппеты DocLister, Phpthumb, DLMenu и.т.д). Также я использовал модуль корзины TSVshop, есть ещё Shopkeeper но с ним я работал все пару раз, так что выбрал первый вариант (тем более там есть набор аддонов которые мне были нужны – Доставка, Оплата, Быстрое обновление цен).
Также мне был нужен “Умный фильтр” (быстрый подбор товаров по параметрам и характеристикам). В MODX Evolution есть такой замечательный компонент как eFilter (он включает в себя модуль eLists - для удобного формирования списков значений ТВ, плагин tovarParams - для показа в админке при редактировании товара только тех параметров, которые заданы для данной категории товаров, набор сниппетов для формирования формы и проведения фильтрации). Более подробно про данный компонент можно почитать вот тут https://github.com/webber12/eFilter
Использование компонента eFilter
Удобно создавать и управлять фильтрами для каждой категории товаров. То есть можно задать индивидуальные фильтры для разных категорий, со своим набором параметров для фильтрации.
Модуль для управления параметрами TV (чтобы можно было быстро добавить новые характеристики). С ним пришлось немного повозиться но в итоге всё получилось.
На сайте после настройки фильтров это выглядит вот так (за исключением подбора по марке модели авто, для этого фильтра пришлось делать отдельный модуль и немного дорабатывать eFilter). Типы фильтров можно менять (Список, Чекбокс, Флажок, Диапазон, Мультиселект и.т.д). Фильтр может работать как в обычном режиме, так и в режиме ajax.
Пару слов хочется сказать о модуле Зависимые списки (думаю его можно использовать не только для Марка-Модель-Модификация авто но и например для городов). Суть работы такая, в модуле создаём зависимые списки Они могут быть многоуровневыми, далее у товара есть параметр TV который позволяет выводить эти списки и добавлять к любому товару свой набор этих списков, их может быть сколько угодно.
Поиск по сайту я организовал на базе сниппета evoSearch, я подробно описывал его возможности. Кому интересно может с ними ознакомиться вот тут. Вот в принципе основные моменты которые я хотел описать в этой статье.