pbpo Posted May 6, 2014 Share Posted May 6, 2014 (edited) Mam dosyć spory problem z wyszukiwarką pod prestashop 1.4.6.2.Mianowicie gdy wpiszę nazwę danego produktu na stronie głównej ( z modułu prostego wyszukiwania), pokazuje albo nie te produkty lub w ogóle nie wyświetla albo pokazuje coś jeszcze poza nimi ( takie które nie są związane w żaden sposób czy to przez opis czy tagi z Tym jednym konkretnym produktem). Dla przykładu : Tłumice, nasady, klucze, czy węże pożarnicze.Przebudowywałem index chyba z 5 razy.Edytowałem Plik classess/Search.phpmodyfikowałem 2 linijki :Pierwsza : '\x{e000}-\x{f8ff}\x{fb29}\x{fd3e}-\x{fd3f}\x{fdfc}-\x{fdfd}'. '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{e000}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'. '\x{a806}\x{a80b}\x{a823}-\x{a82b}\x{d800}-\x{f8ff}\x{fb1e}\x{fb29}\x{fd3e}'. '\x{fd3f}\x{fdfc}-\x{fe6b}\x{feff}-\x{ff0f}\x{ff1a}-\x{ff20}\x{ff3b}-\x{ff40}'. '\x{ff5b}-\x{ff65}\x{ff70}\x{ff9e}\x{ff9f}\x{ffe0}-\x{fffd}'); Druga : $intersectArray = array(); $scoreArray = array(); $words = explode(' ', Search::sanitize($expr, $id_lang, false, $context->language->iso_code)); foreach ($words AS $key => $word) if (!empty($word) AND strlen($word) >= (int)Configuration::get('PS_SEARCH_MINWORDLEN')) { $word = str_replace('%', '\\%', $word); $word = str_replace('_', '\\_', $word); $intersectArray[] = 'SELECT id_product FROM '._DB_PREFIX_.'search_word sw LEFT JOIN '._DB_PREFIX_.'search_index si ON sw.id_word = si.id_word WHERE sw.id_lang = '.(int)$id_lang.' AND sw.word LIKE '.($word[0] == '-' ? ' \''.pSQL(Tools::substr($word, 1, PS_SEARCH_MAX_WORD_LENGTH)).'%\'' : '\''.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\'' );if ($word[0] != '-') $scoreArray[] = 'sw.word LIKE \''.pSQL(Tools::substr($word, 0, PS_SEARCH_MAX_WORD_LENGTH)).'%\''; } else unset($words[$key]); if (!sizeof($words)) return ($ajax ? array() : array('total' => 0, 'result' => array())); (linie 56 / 57 / 58 / 170 / 181 / 182 to te które zostały zmienione).Ale dalej jest to samo. Dla testów stworzyłem kopie obecnej strony i z-upgradowałem ją do PS 1.6 i na tej wersji prestashop wyszukiwanie działa o 85% lepiej niż w przypadku starszej wersji. Czy da się jakoś zmodyfikować stary blok prostego wyszukiwania by działał tak dobrze jak ten pod nową wersją prestashopu ? Link do witryny : http://supron1.pl Edited May 6, 2014 by pbpo (see edit history) Link to comment Share on other sites More sharing options...
pbpo Posted May 6, 2014 Author Share Posted May 6, 2014 up Link to comment Share on other sites More sharing options...
pbpo Posted May 8, 2014 Author Share Posted May 8, 2014 Nikt nie jest w stanie pomóc ? Link to comment Share on other sites More sharing options...
pbpo Posted May 21, 2014 Author Share Posted May 21, 2014 (edited) Dobra, temat można zamknąć. Problemem były słowa kluczowe w produktach i aliasy do nich. Nie można było odnaleźć produktu ponieważ słowa kluczowe i aliasy były błędnie wpisane przez poprzednika. Teraz wszystko śmiga i hula Edited May 21, 2014 by pbpo (see edit history) Link to comment Share on other sites More sharing options...
mudol Posted November 20, 2014 Share Posted November 20, 2014 (edited) Trochę odkopię temat a nie będę zakładał nowego, mam presta 1.6.0.9, jest problem z wyszukiwarką, w BO włączyłem wyszukiwanie AJAX, index przebudowany ale nie działa od strony frontowej, szukaj zachowuje się jak zwykłe szukaj czyli nie podpowiada produktów po wpisywaniu liter. ktoś może pomóc co jeszcze muszę zrobić? e: i jeszcze druga sprawa, nie wyszukuje w części frazy czyli np: mamy produkt "Nowy produkt ZK5002", jak wpiszę 5002 to nie pojawia się ten produkt a chciałbym Edited November 20, 2014 by mudol (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts