📑 В этой статье
В стандартном OpenCart фильтров на странице поиска нет, а на категориях они работают с перезагрузкой страницы. Сторонние модули обычно требуют правок twig-шаблонов — это значит что при обновлении темы вам или нужно всё делать заново, или фильтры ломаются. AI Filters v1.0.5 решает это через event-injected рендеринг: никаких правок темы, AJAX-режим, работает и на категориях и на странице поиска.
Проблема: фильтры в OpenCart и почему стандартные модули ломают тему
OpenCart 3 и 4 из коробки имеют слабый filter-механизм:
- На категориях — фильтры по атрибутам перезагружают всю страницу при каждом клике. На каталоге 5k+ SKU UX становится неприемлемым.
- На странице поиска стандартных фильтров нет вообще. Покупатель нашёл 247 товаров — не может сузить по бренду или цене.
- OpenCart не имеет per-facet count — пользователь не знает сколько товаров останется после клика, пока не кликнет.
Что такое AI Filters v1.0.5 и зачем event-injected рендеринг
AI Filters — фасетный модуль в составе AI Search v1.0.5. Работает отдельно (можно без AI-поиска) или вместе. Ключевой принцип — event-injected: модуль не модифицирует template-файлы. Подписывается на стандартные OpenCart events и вставляет HTML фильтров в уже отрендеренный output.
Быстрая установка за 5 минут
- Зарегистрируйтесь на ai-search.cc — Google login или email.
- Скачайте
aisearch.ocmod.zipиз кабинета — один архив для AI Search и AI Filters. - В админке OpenCart: Extensions → Installer → Upload → выберите zip → Continue.
- Extensions → Modifications → Refresh (важно — иначе events не активируются).
- Extensions → Extensions → Modules → найдите AI Filters → Install → Edit → включите
Status: Enabled→ Save. - Перейдите на frontend, откройте любую категорию или страницу поиска. Фильтры появятся слева.
Что получаете из коробки
AJAX-режим
Пользователь кликает чекбокс — фильтр-панель и список товаров обновляются без перезагрузки страницы. Это не SPA-overlay (как Klevu) — XHR-запрос на свой endpoint. URL меняется через history.pushState() — share-friendly.
Per-facet counts с exclude-self
Внутри группы "Цвет" числа остаются без учёта выбранного "Чёрный" — пользователь видит сколько товаров других цветов есть.
Native HTML5 dual-range slider
Без сторонних JS-библиотек. Работает на mobile (touch). Debounced — XHR через 500ms бездействия.
URL-state CSV
Пример URL с активными фильтрами
/index.php?route=product/category&path=20&ai_f[manufacturer]=12,15&ai_f[price]=100-500GA4 events
{ event: 'ai_filters_applied', filter_group: 'manufacturer', filter_value: '12', total_results: 47 }
Совместимость с темами
- Default OpenCart 3.x / 4.x — полная совместимость
- Journal 3 / Journal 4 — работает без настроек
- OctTheme — работает
- Ronix, Shoppica — работает
Продвинутые настройки
1. Position
Filter Position → Left column / Top horizontal / Custom. В Custom — CSS selector контейнера.
2. Active groups
Цена, производитель, цвет, размер, опции, атрибуты, наличие, рейтинг. Drag-n-drop порядок.
3. Mobile sticky bottom button
"Фильтры (3)" с лічильником активних. Тап — slide-up panel.
4. Conditional rules
"Показывать фильтр 'Цвет' только если в результатах есть ≥3 различных цвета".
5. Кэширование counts
Redis или file-cache. Инвалидация автоматическая при изменении товаров.
Troubleshooting: 6 типовых проблем
99% — забыли Extensions → Modifications → Refresh. Сделайте Refresh, очистите Twig-cache, проверьте.
Проверьте jQuery. Включите AI Filters → Settings → Load jQuery in catalog.
Запустите reindex через Extensions → Modules → AI Search → Edit → Indexer → Start Indexing.
Отключите их в настройках темы или выберите "Replace theme filters" в AI Filters.
Проверьте viewport meta-тег.
Тема переопределяет
window.history. Контактируйте [email protected].FAQ
AI Filters — отдельный продукт или часть AI Search?
В составе AI Search v1.0.5 — один zip, одна лицензия. Можно использовать без AI-поиска.
Это бесплатно?
На Free-плане (до 200 SKU) — да. На платных тарифах AI Filters входит в стоимость без доплат: Starter $12, Business $29, Pro $79, Enterprise $199.
Работает на OpenCart 2.x?
Нет. Только OpenCart 3.0.x и 4.0.x.
Multistore?
Работает. Настройки можно задать отдельно для каждого store.
Разные фильтры для поиска и категорий?
Да. Две вкладки: Category Page Filters и Search Page Filters.