Автор Тема: [Решено] Prestashop 1.6 не работает поиск на русском  (Прочитано 5584 раз)

14 Август 2015, 15:39:43
Ответ #15
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере Search. Посмотри у тебя нет такого контроллера в папке /override/controllers/front/. Если есть, удали.

Нет такого контроллера там :(
Проверять еще нужно класс. Часто его меняют.
Стандарный файл:
/classes/Search.php
Переопределение
/override/classes/Search.php
14 Август 2015, 15:41:27
Ответ #16
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я так понимаю, что вывод такой: надо поменять местами orderby=position и controller=search . Только вопрос как?
Изменение мест переменных в запросе не влияет на посик.

А в чем может быть дело? Англ поиск то работает

Вот исходный запрос:
http://сайт.ру/index.php?orderby=position&controller=search&orderway=desc&search_query=шкаф

Вот ошибка:
[Debug] This page has moved
Please use the following URL instead: http://сайт.ру/index.php?controller=search&orderby=position&orderway=desc
14 Август 2015, 15:43:43
Ответ #17
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Переименовал его, очистил кэш, обновил страницу, нажимаю поиск - то же самое
14 Август 2015, 15:47:57
Ответ #18
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
В шаблоне /themes/default-bootstrap/modules/blocksearch/blocksearch-top.tpl какой адрес контроллера в форме поиска, такой?
<form method="get" action="{$link->getPageLink('search', true)|escape:'html'}" id="searchbox">
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
14 Август 2015, 15:49:35
Ответ #19
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот. Дело точно в URL. Экспремент:

1. Вставляю в адресную строку http://сайт.ру/index.php?orderby=position&controller=search&orderway=desc&search_query=шкаф
Выдает ошибку.
2. Вставляю в адресную строку http://сайт.ру/index.php?controller=search&orderby=position&orderway=desc&search_query=шкаф
Все работает.
14 Август 2015, 15:50:32
Ответ #20
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне /themes/default-bootstrap/modules/blocksearch/blocksearch-top.tpl какой адрес контроллера в форме поиска, такой?
<form method="get" action="{$link->getPageLink('search', true)|escape:'html'}" id="searchbox">

У меня не дефолт. Вот какой:
<form method="get" action="{$link->getPageLink('search', true)|escape:'html':'UTF-8'}" id="searchbox">
14 Август 2015, 15:51:38
Ответ #21
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Поменяте на
<form id="searchbox" method="get" action="{$link->getPageLink('search', null, null, null, false, null, true)|escape:'html':'UTF-8'}" >
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
14 Август 2015, 15:54:28
Ответ #22
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Вот. Дело точно в URL. Экспремент:

1. Вставляю в адресную строку http://сайт.ру/index.php?orderby=position&controller=search&orderway=desc&search_query=шкаф
Выдает ошибку.
2. Вставляю в адресную строку http://сайт.ру/index.php?controller=search&orderby=position&orderway=desc&search_query=шкаф
Все работает.
Все правильно, имя контроллера должно быть первым.
14 Август 2015, 15:55:48
Ответ #23
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Поменяте на
<form id="searchbox" method="get" action="{$link->getPageLink('search', null, null, null, false, null, true)|escape:'html':'UTF-8'}" >

Не помогло :( Думаю тут эти 2 переменных надо поменять местами и все заработает.
14 Август 2015, 15:57:09
Ответ #24
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот. Дело точно в URL. Экспремент:

1. Вставляю в адресную строку http://сайт.ру/index.php?orderby=position&controller=search&orderway=desc&search_query=шкаф
Выдает ошибку.
2. Вставляю в адресную строку http://сайт.ру/index.php?controller=search&orderby=position&orderway=desc&search_query=шкаф
Все работает.
Все правильно, имя контроллера должно быть первым.

Ну так я об этом и говорю. Как имя контроллера поставить перед orderby? 1 ссылка это адрес который сейчас используется, хочу поменять на  2 но не получается
14 Август 2015, 15:58:06
Ответ #25
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Удалите эти переменные, оставьте только конроллер.
Было
<input type="hidden" name="controller" value="search" />
<input type="hidden" name="orderby" value="position" />
<input type="hidden" name="orderway" value="desc" />
Стало
<input type="hidden" name="controller" value="search" />
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
14 Август 2015, 16:03:27
Ответ #26
  • Пользователь
  • **
  • Сообщений: 54
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Удалите эти переемнные, оставьте только конроллер.
Было
<input type="hidden" name="controller" value="search" />
<input type="hidden" name="orderby" value="position" />
<input type="hidden" name="orderway" value="desc" />
Стало
<input type="hidden" name="controller" value="search" />

Ты ГЕНИЙ!!! Их надо было просто поменять местами, какой же я не внимательный, все работает!!
<input type="hidden" name="controller" value="search" />
<input type="hidden" name="orderby" value="position" />
Я был уверен что URL формируется в другом файле, весь день был открыт этот файл в редакторе, вот это даа))
Всем спасибо большое. Без Вас бы наврятли догадался. Тему CLOSE!!
Было:
<input type="hidden" name="orderby" value="position" />
<input type="hidden" name="controller" value="search" />
         
Стало:
<input type="hidden" name="controller" value="search" />
<input type="hidden" name="orderby" value="position" />
23 Октябрь 2016, 20:01:52
Ответ #27
  • Фрилансер
  • *
  • Сообщений: 119
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тоже не работал поиск, ни на русском, ни на нерусском.
Решил посмотреть. По расположению этих строк в файле все правильно (версия 1.6.1.7)
Нужно было в Настройке -> Поиск - проиндексировать товары, добавив их к списку. Это я сделал и поиск заработал.
Хотя в настройке индексация была включена. Но она не работает почему-то в автоматическом режиме.

Залезал еще в модуль поиска для решения вопроса и нажал "Сбросить", блок поиска после этого сместился теперь под меню.
Как вернуть обратно на свое место? 

P.S. Решено. Переместил вверх стрелочками в расположениях модулей.
Насчет автоматической индексации не решено.
24 Октябрь 2016, 11:53:58
Ответ #28
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Создайте задачу в cron для авто переиндексации по ссылке взятой в Настройки / Поиск - Индексация.
http://site.ru/adminXXXX/searchcron.php?full=1&token=XXXXXXX&id_shop=X
18 Сентябрь 2020, 19:30:53
Ответ #29
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тоже не работает поиск товаров на сайте на русском языке, на английском или цифрами ищет без проблем. Перепробовал все вешеперечисленные советы – ничего не помогло. Решил закачать базу данных с другого сайта, где шаблон другой, но от той же конторы и поиск работает. Файлы никакие при этом не менял. Поиск заработал. Значит, я так понимаю, что дело в базе данных, а не в файлах, но где именно глюк понять не могу. Может кто сталкивался, помогите плиз. PrestaShop 1.6.1.24