8uh.ru - это информационный портал в стиле "Подслушано". Обсуждаем важные новости мира и интернета, показываем тонкости работы с различными сайтами и социальными сетями: от сайтов поисковых систем Яндекс, Гугл, Мэйл, Рамблер, Нигма до соцсетей Вконтакте, Одноклассники, Твиттер и Пинтерест. Подсказываем как грамотно сделать сайт и получить на него посетителей, используя различные способы продвижения сайтов: SEO-продвижение, краунд-маркетинг, соцсигналы, SMM-маркетинг и SMO-маркетинг.

OpenCart 2 — увеличиваем глубину стандартного поиска

Привет! По-умолчанию, в OpenCart 2 и более ранних версий стандартный поиск работает только для категорий вложенности не более 3. То есть, если у вас есть дочерние категории 4 уровня вложенности и этим категориям назначены товары, то стандартный поиск ОпенКарт не сможет найти эти товары. Это досадное упущение действует для тех товаров, которым назначены категории 4 и большего уровня вложенности в качестве главных категорий.

Исправить эту ситуации довольно просто, что и сделаем в этой статье.

Стандартный 3-х уровневый поиск OpenCart 2

Итак, сначала рассмотрим суть проблемы. Открываем страницу поиска по сайту на ОпенКарт 2 и смотрим имеющийся там выбор категорий (предварительно были созданы все необходимые категории: главная и дочерние до 4-го уровня):

Стандартный 3-х уровневый поиск OpenCart 2

Как видим, отображаются только категории до 3-го уровня, в чем и заключается наша проблема, так как у нас 4 уровня вложенности.

Решение проблемы со стандартным поиском

Давайте решим нашу проблему, но сначала нужно найти где она кроется. Для этого открываем файл search.php, расположенный по пути: корень_сайта/catalog/controller/product/.

Немного прокручиваем содержимое файла вниз и находим такой комментарий:

// 3 Level Category Search

Именно он и сообщает, что стандартный поиск по категориям работает только для категорий не более 3-го уровня. Далее идёт код:

Чтобы включить поиск по категориям 4-го уровня, необходимо его слегка изменить, а именно — добавить массив с категориями 4-го уровня. Для этого приведённый выше код заменяем на следующий:

Половина дела сделана, теперь нужно добавить отображение категорий 4-го уровня вложенности в SELECT на странице поиска по сайту OpenCart2. Для этого открываем файл search.tpl, расположенный по пути: корень_сайта/catalog/view/theme/*Название_используемой_темы*/template/product/.

Код, отвечающий за вывод категорий, которые можно выбрать для поиска по ним, выглядит следующим образом:

Нам нужно добавить сюда выбор категорий 4-го уровня. Заменяем его на такой код:

Обратите внимание, что мы слегка убрали пробелы и разделили для наглядности уровни выбора. Сохраняем все изменения, чистым кэш системы и кэш дополнений, переходим на сайт и смотрим:

Поиск по 4-м категориям ОпенКарт2

Появилась возможность выбора категорий 4-го уровня вложенности и поиск по ним работает также хорошо, как и до наших изменений. Что и требовалось сделать!

Рассказать о подслушанном:

Комментарии

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *