Polskie wsparcie PrestaShop

PrestaShop => Błędy => Wątek zaczęty przez: klosow w Luty 22, 2012, 09:31:57 am

Tytuł: Problem z wyszukiwarką "ł"
Wiadomość wysłana 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 ;-)
Tytuł: [ROZWIĄZANIE] Problem z wyszukiwarką "ł"
Wiadomość wysłana przez: klosow w Luty 22, 2012, 10:24:05 pm
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.
Tytuł: Odp: Problem z wyszukiwarką "ł"
Wiadomość wysłana przez: Inarus w Maj 05, 2012, 03:33:07 pm
O tego właśnie szukałem :) działa super :)