Jump to content

Recommended Posts

Помогите разобраться!!!

 

Есть поиск на сайте, он работает нормально, ищет все и по названию, описанию, свойствам. Но есть одна проблема с поиском по артикулу, ищет артикул целиком, а мне нужно по последним трем или четырем цыфрам.

 

Артикул у меня и с цифр, и с букв. Вообщем нужно чтобы он искал по артикулу вдоль и поперек, как по названию.

Link to comment
Share on other sites

чего тут разбираться. 

нужно либо найти такой модуль, либо сделать

Мне подсказали что нужно изменить класс find в search.php чтобы он искал как хочешь, но типа база увеличиться и нагрузка.

Вот кто бы мог такое сделать.

Link to comment
Share on other sites

Обычный поиск ищет по артикулу. Можно в настройках даже вес у него побольше задать

Он ищет по артикулу, но ищет если артикул вводить с начала. А мне очень часто надо чтобы он искал с конца артикула. Кто сможет сделать???

Link to comment
Share on other sites

Нашел решение на англйском блоге, кому интересно делюсь решением. Очень улучшает поиск:

 

Редаектируем файл /classes/search.php

$intersect_array[] = 'SELECT si.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.id_shop = '.$context->shop->id.'
    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)).'%\''
);
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...