Problema con buscador Prestashop 1.4

Tras la actualización de versión de PHP de nuestros servidores algunas tiendas prestashop en la versión 1.4 han visto como su buscador ha dejado de funcionar correctamente.

Para solucionar esta incidencia se debe actualizar Prestashop a la versión 1.5 o aplicar este parche:

En el fichero classes/Search.php debemos quitar o comentar el siguiente código:

 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]);


Y en su lugar incluir este otro:


$intersectArray[] = 'SELECT distinct p.id_product FROM ps_product p LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product AND pl.id_lang = '.(int)$id_lang.') WHERE pl.name LIKE \'%'.pSQL($expr).'%\'';


Con esto debe estar solucionado el problema.

¿Fue útil la respuesta?

 Imprimir éste Artículo

Leer también

Recuperar o cambiar contraseña backoffice Prestashop

Cambiar o recuperar la contraseña del backoffice no es una tarea complicada, a...

Borrar Cache de Prestashop

1º - PROBAR CON LA ELIMINACION AUTOMATICA (No suele funcionar) Debe acceder al backoffice...

Plantillas Gratis Prestashop 1.5

A continuación puedes descargar unas plantillas gratis para tu prestashop 1.5.  ...

Instalar plantilla prestashop 1.5

Para instalar los themes en prestashop 1.5 tenemos varias maneras, aqui vamos a explicar la...

Añadir categorías en Prestashop

Hola a todos,Añadir una categoria es un proceso sencillo, a continuación os...