Opencart — Поиск В Описании Товаров

Тема в разделе "Модули и дополнения", создана пользователем admin, 17 июн 2016.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    1.581
    Симпатии:
    22.483
    Репутация:
    124
    По умолчанию поиск OpenCart ищет непосредственно по названиям товаров, не затрагивая описания товаров, что не очень удобно. Для того, чтобы поиск искал по описанию товара, необходимо на странице поиска отметить галочками чекбоксы с «Искать в описании товаров» и «Искать в подкатегориях», если хотим при поиске затрагивать подкатегории магазина. Мы же сделаем так, чтобы поиск сразу искал по названиям, описаниям и учитывал подкатегории.

    Рассмотрим на примере демо данных магазина. В магазине присутствует товар под названием «Apple Cinema 30″, попытаемся с помощью поиска найти данный товар, для этого можно вбить название целиком, можно использовать лишь часть названия и поиск найдет нужный товар. Но если попытаться найти этот же товар, но использовав для поиска фразу из описания, поиск данный товар не найдет.
    search-opencart.jpg

    Итак, для того, чтобы изменить эту ситуацию, нам необходимо открыть всего один файл — catalog\view\javascript\common.js и подправить в нем две строки — 9 и 22. При этом важно учитывать версию движка.

    • Если вы используете версию 1.5.4.1 и ниже, то код на этих строках идентичный и выглядит следующим образом:
    Код:
    url+='&filter_name='+encodeURIComponent(filter_name);
    Мы же изменим этот код на следующий:

    Код:
    url+='&filter_name='+encodeURIComponent(filter_name)+
    '&filter_sub_category=true&filter_description=true';
    • Если же у вас более свежая версия (проверено на 1.5.5.1), то код будет немного иным (все на тех же 9 и 22 строках):

    PHP

    Код:
    url+='&search='+encodeURIComponent(search);
    мы же заменим его на:

    Код:
    url+='&search='+encodeURIComponent(search)+'&description=true'+'&sub_category=true';

    Для владельцев OpenCart 2.x (я способ использую на OpenCart 2.0.2.0) изменения будут следующими:

    находим строки со следующим кодом (приблизительно с 70 по 72 строку):


    Код:
    if(value){
    url+='&search='+encodeURIComponent(value);
    }

    и меняем его на :

    Код:
    if(value){
    url+='&search='+encodeURIComponent(value)+'&description=true'+'&sub_category=true';
    }

    Теперь поиск нашего магазина стал более умным и продвинутым и находит товар по любой фразе, будь то часть названия или просто фраза из описания товара.
     
  2. Offline

    Pavlik Пользователь

    Сообщения:
    318
    Симпатии:
    65
    Репутация:
    10
    Версия ocStore 2.1.0.2.1
    В файле catalog\view\javascript\common.js
    Код в 59й строке
    Заменил часть кода - без изменений.
    Есть еще файлы isearch и isearch_corporate (модуль поиска, он отключен)
    Может кто знает как поправить поиск?
     
    Последнее редактирование: 8 янв 2017