В стандартном OpenCart фильтров на странице поиска нет, а на категориях они работают с перезагрузкой страницы. Сторонние модули обычно требуют правок twig-шаблонов — это значит что при обновлении темы вам или нужно всё делать заново, или фильтры ломаются. AI Filters v1.0.5 решает это через event-injected рендеринг: никаких правок темы, AJAX-режим, работает и на категориях и на странице поиска.

Проблема: фильтры в OpenCart и почему стандартные модули ломают тему

OpenCart 3 и 4 из коробки имеют слабый filter-механизм:

  • На категориях — фильтры по атрибутам перезагружают всю страницу при каждом клике. На каталоге 5k+ SKU UX становится неприемлемым.
  • На странице поиска стандартных фильтров нет вообще. Покупатель нашёл 247 товаров — не может сузить по бренду или цене.
  • OpenCart не имеет per-facet count — пользователь не знает сколько товаров останется после клика, пока не кликнет.
⚠️
Классическая ловушка template-based фильтров: при обновлении темы (или покупке новой) — фильтры либо исчезают, либо ломают вёрстку.

Что такое AI Filters v1.0.5 и зачем event-injected рендеринг

AI Filters — фасетный модуль в составе AI Search v1.0.5. Работает отдельно (можно без AI-поиска) или вместе. Ключевой принцип — event-injected: модуль не модифицирует template-файлы. Подписывается на стандартные OpenCart events и вставляет HTML фильтров в уже отрендеренный output.

💡
Что это даёт: вы обновляете тему — фильтры продолжают работать. Покупаете новую тему — устанавливаете и фильтры появляются без правок.

Быстрая установка за 5 минут

  1. Зарегистрируйтесь на ai-search.cc — Google login или email.
  2. Скачайте aisearch.ocmod.zip из кабинета — один архив для AI Search и AI Filters.
  3. В админке OpenCart: Extensions → Installer → Upload → выберите zip → Continue.
  4. Extensions → Modifications → Refresh (важно — иначе events не активируются).
  5. Extensions → Extensions → Modules → найдите AI Filters → Install → Edit → включите Status: Enabled → Save.
  6. Перейдите на frontend, откройте любую категорию или страницу поиска. Фильтры появятся слева.

Что получаете из коробки

AJAX без перезагрузок
🎯
Per-facet counts (exclude-self)
🔗
URL-state для share
📊
GA4 / dataLayer events

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-500

GA4 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, проверьте.
AJAX не работает (полная перезагрузка).
Проверьте jQuery. Включите AI Filters → Settings → Load jQuery in catalog.
Counts показывают 0 для всех фильтров.
Запустите reindex через Extensions → Modules → AI Search → Edit → Indexer → Start Indexing.
Конфликт со своими фильтрами темы.
Отключите их в настройках темы или выберите "Replace theme filters" в AI Filters.
Slider цены ломается на mobile.
Проверьте viewport meta-тег.
URL не сохраняет состояние фильтров.
Тема переопределяет 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.