Polskie wsparcie PrestaShop
PrestaShop => Błędy => Wątek zaczęty przez: klosow w Luty 22, 2012, 09:31:57 am
-
Witam,
Zainstalowałem PrestaShop w wersji 1.4.7 i mam problem w działaniem wyszukiwarki.
Nie działa wyszukiwanie wyrazów zawierających literę ł lub Ł.
Gdy zamiast nich wpiszę l lub L wszystko jest dobrze.
Nie można wyszukiwać hasła: "sŁownik", ale "sLownik" już działa.
Pozostałe litery ą, ę, ć nie stanowią problemu i wyszukiwane są z ogonkami i bez.
Presta tworząc indeks wyrazów do wyszukiwarki obcina ogonki (znaki akcentów) i w bazie wszystkie wyrazy są bez nich.
Gdy wyłączyłem ten system, indeks wyrazów miał polskie znaki i wyszukiwanie działało tylko dla wyrazów z ogonkami ("slownik" już nie działało, za to "słownik" - tak).
Tymczasowy adres sklepu na którym można przetestować ten problem:
http://m-partner.home.pl/public/prestashop/
na localhost i na PS1.4.6, PS1.5.0.3 problem identyczny.
Z góry dziękuję za pomoc. To moja pierwsza instalacja PrestaShop i może nie znam jakiegoś tricku ;-)
-
Problem rozwiązany.
W pliku Search.php trzeba w miejscu:
$word = str_replace('%', '\\%', $word);
$word = str_replace('_', '\\_', $word);
dodać:
$word = preg_replace('/[\x{0142}\x{0141}]/u','l', $word);
MySQL przy porównywania napisów z ustawionym "utf8_general_ci" obcina polskie ogonki wszędzie oprócz przy Ł i ł.
Powyższa linia robi to na poziomie skryptu sklepu.
Mam nadzieję, że komuś się przyda.
-
O tego właśnie szukałem :) działa super :)