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

Глючит поиск товаров


Cybo

Recommended Posts

Я понимаю, что тема уже поднималась, но решения я так и не нашёл.

У меня магазин на движке osStore 1.5.3.1.

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

Такое ощущение, что от поисковой фразы отрезается 2 и более букв.

Помогите пожалуйста!!! :(

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


Проблему поиска решить можно проще:

Таблицы в БД хранятся в UFT-8. Сам движок тоже в UTF-8 и все запросы к БД (для запроса имени, описания и прочих локализованных полей), соответсвенно, тоже в UTF-8. Поэтому необходимо забыть про функцию strtolower во всех частях кода, а именно в админке (поиск товара), ну во фронтенде тоже. Так как strtolower не работает с UTF-8 никак (англицкие символы прокатят, а вот поиск по любым другим просто работать в движке не будет) почитать можно тут: http://php.net/manua....strtolower.php. В документации есть куча примеров как использовать эту функцию. Если бы таблицы были бы в кодировке cp1251 и сам сайт в этой же кодировке, то можно было бы вызвать функцию setlocale(LC_ALL, 'ru_RU'); и поиск работал бы на ура. А для UTF-8 нужно заменить хотябы в двух файлах:

adminmodelcatalogproduct.php и catalogmodelcatalogproduct.php вызов функции strtolower('text') на mb_strtolower('text', 'UTF-8'). Поиск заработает прекрасно.

Помогло вот это решение!

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


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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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