Главная / Создание и продвижение сайтов / САЙТОСТРОЕНИЕ / Prestashop / PrestaShop: поиск, транслит в результатах запроса

PrestaShop: поиск, транслит в результатах запроса

Те, кто сталкивался с вопросом создания интернет-магазина на базе Престашоп, знают, что даже “коробочную” версию с дефолтным шаблоном приходится долго “допиливать”, устраняя различные мелкие недоработки, доделывать магазин под собственные нужды либо под требования заказчика. Некоторые моменты, требующие вмешательства, как правило, являются общими для определенной версии.

В очередной раз взявшись вплотную за PrestaShop, я решил попутно делать заметки, записывать найденные глюки, баги и решения – чтобы, в случае необходимости, вновь не терять драгоценное время. Сегодня разберем любопытный баг официальных релизов PrestaShop 1.5.6.1 и 1.5.6.2. Несмотря на полную локализацию движка, указанные версии имеют небольшой, но малоприятный баг – вывод поискового запроса транслитом на странице поиска. Т.е., вбивая, в поле ввода, например, запрос “порошок”, над результатами поиска пользователь видит его транслитерацию на латинице: “poroshok”. Если же слова в запросе содержат мягкий знак, получается еще “страньше” :)

prestashop-poisk-translit-01

prestashop-poisk-translit-02

По всей видимости, это связано с тем, что при индексировании добавляемых в интернет-магазин номенклатурных позиций, все наименования подвергаются принудительной транслитерации и в таком виде записываются в поисковый индекс. Соответственно, пользовательские запросы также предварительно переводятся в латиницу, затем идет перебор и сравнение. На результаты PrestaShop поиска это не влияет, но видеть латиницу в формах фронт-офиса русскоязычного сайта не хочется.

Такие действия как включение/выключение ЧПУ и пересоздание индекса в данном случае совершенно бесполезны, а модифицировать поисковый механизм PrestaShop не каждому под силу. В качестве простого решения данной проблемы заменяем файл /ваш_сайт/controllers/front/SearchController.php на исправленный. Файл выложен, как минимум, на двух форумах, посвященных PrestaShop, на всякий случай выкладываю его и в общий доступ – на Яндекс-диск: SearchController.php

Надеюсь, эта небольшая статья о том, как исправить в PrestaShop поиск, оказалась полезной.

Расскажите об этой статье в соцсетях:

Один комментарий

  1. Спасибо! Случайно наткнулся на вашу статью, когда искал ответ на вопрос о транслитерации в поиске Престашоп. Помогло. Кстати, обратил внимание, что теперь наоборот, если ввести запрос на транслите, поиск его обрабатывает как и кириллицу, выдавая правильный результат.

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

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