Jump to content

El módulo de búsqueda no busca - [Solucionado]


VnVo

Recommended Posts

No hay manera que el módulo de buscar me encuentre ningún producto,ni el módulo del tema ni el que lleva el menú horizontal.

¿ Alguien me puede decirme que puedo hacer para solucionarlo?

Gracias a todos.

Link to comment
Share on other sites

No hay manera que el módulo de buscar me encuentre ningún producto,ni el módulo del tema ni el que lleva el menú horizontal.

¿ Alguien me puede decirme que puedo hacer para solucionarlo?

Gracias a todos.

 

Revisa en la pestaña Preferencias -> Busqueda que tengas indexados los productos.

Link to comment
Share on other sites

Mira ver esto:

 

My solution is replacing code of FO search by BO search.

 

FO search uses search_word and search_index tables but BO search uses SQL query directly.

 

Find these code in /classes/search.php:

 

 

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

 

replace by:

 

 

$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).'%\'';

 

Fuente:

 

http://www.prestasho...post__p__856337

Link to comment
Share on other sites

Gracias Jordi ya lo había hecho pero sigo igual.Ahora actualizo la versión a ver si la acabo de liar.Te cuento.

Si no actualizas, enviame un email al mi correo, y vemos a ver que esta pasando.

 

Si actualizas, ya nos contaras algun avance.

Link to comment
Share on other sites

No puedo actualizar Nadie,te envio el mail,gracias

Estimado VnVo,

 

Acabo de recibir su email.

 

En principio solo le voy a mirar el tema del buscador, que era el problema que tenia al crear este tema en el foro.

 

Cuando tenga un hueco te lo miro.

 

Un Saludo

Link to comment
Share on other sites

  • 2 weeks later...

Sigo teniendo el problema de que me da error el buscador.¿Alguien me puede aportar algo para solucionarlo?

Gracias a todos/as

 

Parece que ahora:

 

http://www.vnvo.es/tienda

 

Ya te busca.

 

PD: No me he podido meter antes, ahora mismo ya te lo he dejado funcionando , recuerda que la ayuda del foro es gratuita y no me da tiempo para ayudar a todo el mundo, aunque se intenta.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

A ver si lo he entendido bien..

 

Hay que sustituir:

 

 

$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.'

 

por

 

$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).'%\'';

 

Es correcto?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...