Зв'язатись
Каталог · OpenCart

Розумний фільтр товарів для OpenCart 2.3, 3 і 4

Фасетний фільтр у категорії: бренд, ціна, атрибути й опції з живими лічильниками, власним індексом і SEO-сторінками фільтра. Без правок ядра.

Завантажити безкоштовно
Версія
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Сумісність
OpenCart 2.3.0.x, 3.0.2 – 3.0.5.0 та 4.0.2 – 4.1.x
Платформа
OpenCart
Розумний фільтр товарів для OpenCart 2.3, 3 і 4

Що включено в ліцензії

Функція Free Pro
Фасетний фільтр: бренд, ціна, атрибути, опції, наявність
Живі лічильники з урахуванням уже вибраних фільтрів
Власний індекс замість запитів по атрибутах — каталог не гальмує
Дублі значень («12 В» / «12в» / «12 V») зливаються в одне
Числові значення сортуються числами і працюють діапазоном
SEO-сторінки фільтра з власним H1, title і людським URL
Решта комбінацій — noindex + канонікал на чисту категорію
Товари підкатегорій на сторінці категорії перемикачем
Без правок ядра, без jQuery і сторонніх бібліотек
Одна збірка на OpenCart 4.0 і 4.1, окремі — на 3.x і 2.3

Розумний фільтр робить у категорії справжню фасетну вибірку: бренд, ціна, атрибути, опції, наявність — з живими лічильниками і без перезавантаження сторінки. Є три збірки: для OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5.0 і 2.3.0.x; функціональність однакова, відрізняється лише пакет.

Не патчить ядро

Фільтр вбудовується подіями і власною моделлю каталогу, жоден файл ядра не переписується. Тому оновлення OpenCart його не ламає, а одна збірка встає і на 4.0, і на 4.1. Прибрати модуль можна в один клік — магазин лишається таким, яким був.

Власний індекс замість запитів по атрибутах

Замість того щоб на кожен клік перебирати таблиці атрибутів і опцій, модуль тримає власний індекс товар → значення. Умови фільтра — це EXISTS по індексу, тож каталог не сповільнюється, коли покупець додає п’ятий і шостий фільтр. Індекс оновлюється сам, коли товар додали, змінили, скопіювали або видалили.

Дублі значень зливаються в одне

«12 В», «12в» і «12 V» у прайсах постачальників — це три різні рядки, і в звичайному фільтрі вони стають трьома чекбоксами. Тут вони зливаються в одне значення. Числові значення сортуються як числа (1.5 / 2 / 10, а не 1.5 / 10 / 2) і працюють як діапазон.

Чесні лічильники

Біля кожного значення видно, скільки товарів залишиться після вибору. Лічильник рахується з урахуванням усіх інших вибраних фільтрів, а сам себе не обмежує — тобто покупець не впирається в нулі й не бачить «(0)» там, де товар насправді є.

SEO-сторінки фільтра

Потрібну комбінацію фільтрів можна перетворити на окрему сторінку з власним H1, title, description, текстом і людським URL. Усе інше, що покупець накликав, закривається noindex,follow з канонікалом на чисту категорію — тобто в індекс не сиплються тисячі сміттєвих адрес.

Дрібниці, які помітно в роботі

  • Товари підкатегорій на сторінці категорії — перемикачем (у стандартному OpenCart їх не видно взагалі).
  • Нуль сторонніх бібліотек: без jQuery і слайдер-плагінів, сумісно з CSP.
  • Вбудована діагностика показує, чи справді перехоплено вибірку, чи свіжий індекс і чи працює кеш лічильників — саме так цей клас модулів ламається тихо.

Як встановити

  1. Завантажте збірку під свою версію та встановіть через «Розширення → Встановлення розширень».
  2. У «Розширення → Розширення → Модулі» знайдіть «CatCode Розумний фільтр» і натисніть Install.
  3. Відкрийте налаштування й натисніть «Встановити» — створяться таблиці й події.
  4. Зберіть індекс кнопкою «Переіндексувати», оберіть, які атрибути стають фасетами.
  5. Поставте модуль у макет категорії через «Дизайн → Макети».

Що отримує адмін

Фасети складаються з того, що у вас уже є в каталозі: категорія, атрибути й опції товарів, ціна, наявність, рейтинг. Нічого окремо описувати не треба — модуль бере атрибути й опції OpenCart як є.

Для кожного фасета налаштовується, як він виглядає покупцеві: чекбокси, повзунок для числових значень чи діапазон. Порядок фасетів у панелі задаєте ви — те, чим у вашій категорії справді фільтрують, ставиться першим.

Індекс перебудовується сам, коли товар змінюється, і його можна перебудувати повністю однією кнопкою — це знадобиться раз, після першого імпорту великого прайсу.

Як це працює — крок за кроком

1. Після встановлення модуль будує власну плоску таблицю-індекс «товар → значення». Це разова операція, далі індекс живе сам.

2. Покупець ставить галочку у фільтрі. Запит іде не по таблицях product_attribute і product_option, а по цьому індексу — одним простим SELECT замість купи JOIN-ів.

3. Лічильники біля решти значень перераховуються з того самого індексу, тому вони чесні: показують саме те, що знайдеться, а не загальну кількість товарів зі значенням.

4. Видача оновлюється без перезавантаження, а стан фільтра пишеться в URL.

5. Товар змінили в адмінці або оновили імпортом — індекс для цього товара перебудовується автоматично.

Чому це швидше

Стандартна фільтрація OpenCart збирає вибірку join-ами по product_attribute, product_option_value і product_description. Кожен доданий фасет — це ще один JOIN, і на каталозі в кілька десятків тисяч товарів запит перетворюється на кількасекундний.

Плоский індекс «товар → значення» цю проблему знімає в корені: фасетів може бути п’ять або п’ятнадцять, структура запиту не змінюється. Саме тому магазин з великим прайсом отримує від модуля найбільше — на каталозі в двісті товарів різницю ви не помітите.

Безкоштовна версія і Pro

Безкоштовна версія — це повноцінний фільтр: усі типи фасетів, чесні лічильники, злиття дублів значень, числові діапазони, повзунок ціни з реальними межами вибірки, застосування без перезавантаження, стан у URL, мобільна шухляда. Обмежень за часом і реклами в адмінці немає.

Pro додає SEO-сторінки фільтра: ви обираєте комбінацію фільтрів, яку варто просувати («жовті шафи», «ноутбуки до 30 000»), і вона отримує власний H1, title і людський URL. Решта комбінацій лишається під noindex,follow з каноніклом на чисту категорію.

Це і є головна відмінність від «фільтра з теми»: керована жменька посадкових сторінок під низькочастотні запити замість або мільйона сміттєвих URL в індексі, або повної відсутності фільтрових сторінок у пошуку.

Скільки коштує

Ліцензія Pro — 990 грн, на один домен. Ліцензія назавжди: оплачуєте один раз, без щорічних платежів.

Технічні вимоги

Підтримуються OpenCart 4.0, 4.1 і 3.x, а також ocStore на їхній основі. Окремі збірки під кожну гілку лежать в одному архіві.

Окремих вимог до хостингу немає: індекс — це одна звичайна таблиця MySQL, вона не потребує ні Elasticsearch, ні Redis, ні окремого сервісу пошуку.

Що під капотом

Модуль не патчить ядро: він працює через штатні події OpenCart, тому оновлення магазину не затирає його правки, а видалення модуля не лишає слідів у файлах ядра. Пагінація й сортування категорії лишаються рідними.

Ціна береться з урахуванням спецпропозицій і знижок, тобто з тієї самої логіки, що й у лістингу. Тому не буває ситуації, коли фільтр каже одне, а картка товару показує іншу ціну.

Індекс оновлюється за подіями збереження товару, тобто вантажить магазин рівно в момент редагування, а не фоновим кроном раз на годину.

Як встановити

1. Залийте архів через «Розширення → Установник розширень» і встановіть модуль у «Розширення → Модулі».

2. Дочекайтесь побудови індексу — на першому запуску модуль пропонує зробити це однією кнопкою.

3. У налаштуваннях зберіть набір фасетів під свій каталог і задайте їхній порядок.

4. Додайте модуль у макет категорії через «Дизайн → Макети → Category», у колонку зліва або справа.

5. Якщо купили Pro — додайте SEO-сторінки під ті комбінації фільтрів, які справді шукають.

Історія версій

1.0.0 — перший випуск. Фасети за категорією, атрибутами, ціною, наявністю й рейтингом; власна таблиця-індекс; чесні лічильники з незвуженим власним фасетом; злиття дублів значень і числове сортування; повзунок ціни з межами поточної вибірки; застосування без перезавантаження й стан фільтра в URL; мобільна шухляда; робота без патчів ядра. У Pro — SEO-сторінки фільтра з власним H1, title і URL, noindex,follow на решті комбінацій і невтручання в канонікал Yoast / Rank Math / AIOSEO.

Часті питання

Чи треба правити файли ядра або шаблон?

Ні. Модуль вбудовується подіями і власною моделлю каталогу, ядро лишається стоковим — оновлення OpenCart його не ламає.

Чи витримає великий каталог?

Умови фільтра йдуть по власному індексу товар → значення, а не по таблицях атрибутів, тому додавання нових фасетів не сповільнює вибірку.

Що буде з дублями значень із прайсів постачальників?

Вони зливаються в одне значення, тож замість трьох чекбоксів «12 В», «12в» і «12 V» покупець бачить один.

Чи не засмітить фільтр індекс Google?

Ні. В індекс іде лише те, що ви самі зробили SEO-сторінкою; решта комбінацій віддає noindex,follow і канонікал на категорію.

Скільки сайтів можна активувати одним ключем?

Один. Ліцензія назавжди: оплачуєте один раз, без щорічних платежів.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль