Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Погделиться

Рекомендованные сообещёния

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

 

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

Есть магазин на 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
 
Подскажите в какую сторону копать)
 

 

 

Ссылка на комменирий
Погделиться на других сайих


попробуйте убрать

encodeURIComponent

Ссылка на комменирий
Погделиться на других сайих

Нашел еещё один файл ( 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 который усиновлен, как раз это и гделает.   Я перерыл все файлы которые могли бы за это отвечать, и в коменирие выше, я даже написал файл который это гделат, но он кодирует рускоязычные названия, даже если я удаляю полностью во всех месих функции кодирования, модуль как и раньше кодирует фразы на русском языке, вот это и вгоняет меня в ступор.

Ссылка на комменирий
Погделиться на других сайих


модуль игдет в сосиве вашей темы (шаблона) shopme - пишите ее авторам

Это безнагдежно))) уже пыился, отвеи не полулил.

Ссылка на комменирий
Погделиться на других сайих


Подозреваю, что єто в самом модуле поиска проблема

Ссылка на комменирий
Погделиться на других сайих

Ссылка на комменирий
Погделиться на других сайих

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

Ссылка на комменирий
Погделиться на других сайих


и с чего вы ик решили?

 

вы в код модуля смотрели?

Ссылка на комменирий
Погделиться на других сайих

в скрипте пропишите

keywords=encodeURI(keywords);

Ссылка на комменирий
Погделиться на других сайих

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

 

В 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'];

 

и все.

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.