
🚀 Поиск с морфологией, синонимами и Sphinx/Manticore
Этот модуль превращает стандартный поиск OpenCart в мощный инструмент продаж. Умный поиск исправляет опечатки, понимает формы слов и ранжирует товары так, чтобы покупатель находил именно то, что искал.
💡 Главная фишка: Поддержка движков Manticore/Sphinx. Скорость и точность поиска возрастают многократно!
✨ Ключевые возможности
- 🔍 Морфология: Поиск понимает склонения, единственное и множественное число.
- 🎯 Релевантность: Умное ранжирование. Если товар часто выбирают, он поднимается выше в выдаче.
- ✍️ Яндекс.Speller: Исправляет опечатки на лету (русский, украинский, английский).
- 🔄 Синонимы: Настраиваются вручную (например, "мобила" = "смартфон").
- 📜 История поиска: Сохраняется в куках и подсказывает пользователю его прошлые запросы.
- 🏷️ Группировка товаров: В живом поиске товары с одинаковым названием группируются (показываем цену "от").
- 🚀 Индексация: Поисковый индекс обновляется планировщиком — это обеспечивает молниеносную скорость.
⚠️ Системные требования
ВНИМАНИЕ
Режим Manticore/Sphinx работает ТОЛЬКО НА VPS/VDS!
На обычном виртуальном хостинге этот функционал работать не будет.
- PHP: 7.2 и выше
- База данных: MySQL 8.0+ или MariaDB 10.0.5+
- Настройки PHP:
post_max_size и upload_max_filesize не менее 12 Мб
🛠️ Установка
- Установите LocalCopy (обязательно).
- Установите модуль через стандартный установщик расширений.
- Обновите модификаторы.
- Выдайте права:
Система > Пользователи > Группы > extension/mmlivesearch.
- Важно: Отключите другие модули живого поиска (в т.ч. в шаблоне).
🚑 FAQ / Если что-то пошло не так
Manticore/Sphinx не ищет?
Поиск через Sphinx реализован пока только в живом поиске. Он ищет сразу по опциям, атрибутам, описанию и доп. полям (настраивается в конфиге). Инструкция по настройке сервера есть в админке модуля.
Не работает JS (стандартный шаблон OpenCart 3)?
В дефолтном шаблоне иногда забывают вывести скрипты в футере.
Решение:
Откройте файл catalog/view/theme/ВАШ_ШАБЛОН/template/common/footer.twig.
Перед закрывающим тегом </body> добавьте код:
{% for script in scripts %}
<script src="{{ script }}" type="text/javascript"></script>
{% endfor %}
Для OpenCart 2.3:
<?php foreach ($scripts as $script) { ?>
<script src="<?php echo $script; ?>" type="text/javascript"></script>
<?php } ?>