Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Поиск по русским наименованиям товара


Recommended Posts

Добрый день всем, заранее прошу прощения, если данная тема уже обсуждалась. Если кто то решал подобную задачу, прошу направить на путь истенный)))

 

Проблема заключается в следующем.

Есть магазин на OpenCart 2.1.0.1, работает нормально за исключением поиска по сайту.  

 

Если я ввожу артикул товара или наименование на английском языке, поиск работает как надо, но если я начинаю вводить наименование русскими символами, то AJAX возвращает ( no result ).

Дебажил в консоли, русские названия кодируются и соотвецтвенно результат не выдается. 

 

На одном сайте нашел такую информацию.

Надо найти вот такие строки в файле  catalog\view\javascript\common.js

 
if (value) {
url += '&search=' + encodeURIComponent(value);
}
 
и заменить на
 
if (value) {
url += '&search=' + encodeURIComponent(value) +'&description=true' + '&sub_category=true';
}
 
Но результат остался прежний.
 
Я использую шаблон ( shopme ) с установленным vqmod
 
Подскажите в какую сторону копать)
 

 

 

Надіслати
Поділитися на інших сайтах


Нашел еще один файл ( theme/shopme/template/module/d_ajax_search.tpl ) данный файл отрабатывает посимвольно и сразу же выводит то что он нашел.

 

Но если писать на английском, то он работает корректно и у него формируется путь вот тка

http://simag.com.ua/index.php?route=module/d_ajax_search/ajaxsearch&keyword=chevrolet

 

а если писать на русском то он сразу кодирует и результат не отрабатывает

 

http://simag.com.ua/index.php?route=module/d_ajax_search/ajaxsearch&keyword=%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C

соотвецтвенно по этим причинам загвозка, а найти место где кодируется данный кусок я так и не смог.

Надіслати
Поділитися на інших сайтах


так задайте этот вопрос автору темы, поиск вместе с ней идет

Наверно вы имели ввиду разработчику OpenCart так как изначально поиск по товарам не предусматривает динамический AJAX вывод, а вот модуль Shopme Live Search который установлен, как раз это и делает.   Я перерыл все файлы которые могли бы за это отвечать, и в коментарие выше, я даже написал файл который это делат, но он кодирует рускоязычные названия, даже если я удаляю полностью во всех местах функции кодирования, модуль как и раньше кодирует фразы на русском языке, вот это и вгоняет меня в ступор.

Надіслати
Поділитися на інших сайтах


Это отработка разширенного поиска после того как передается на страницу поиска, а вот в сам момент ввода названия товара, отрабатывает только с английскими словами,  То есть не корректно отрабатівает сам AJAX 

Надіслати
Поділитися на інших сайтах


Проблему решил.  Может кому то понадобится.

 

В OpenCart ( controller/module/ ) есть вот такой файл ( d_ajax_search.php ) данный файл есть всегда. В нем есть метод ( public function ajaxsearch() )

и в нем есть строка ( $keywords = strtolower( $this->request->get['keyword'] ); ) 

 

для того чтоб работал поиск AJAX по рускоязычным названиям надо просто заменить 

 

$keywords = strtolower( $this->request->get['keyword'] );

 

на

 

$keywords = $this->request->get['keyword'];

 

и все.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.