Прошу помощи. Суть в чём, есть номера к товару, по ним нужен поиск. Номеров несколько, например, к одному товару такие номера: 33411130617 443498625 Всё это занёс в доп.поле SCU. Установлен поиск Isearch, поиск по SCU включён. Непосредственно, поиск по сайту находит этот товар если писать с самого начала, т.е. 33 и так далее. Если же пробовать найти по этому номеру 443498625, то не находит. Поиск по названию товара ищет по любой части названия. А поиск по SCU только с самого начала. Как победить ? Или, может, как-то по другому решить ?
Чтоб в SQL запросе искать по вхождению ключевого слова в любом месте текста, запрос должен выглядеть так: Код: LIKE %поисковый_запрос% Символ процента по краям указывает на то, что искомый текст может перед и после себя содержать любые символы. А дальше находим в моделе модуля запрос и приводим в нём фрагмент с поиском по sku к вышеуказанному виду. С этим модулем никогда не работал, так что в каком месте править не подскажу.
Победил. Как я тебя люблю ))) Файл catalog/model/catalog/isearch.php Код: $cond = ''; foreach ($words as $word) { if ($searchIn['name'] === true) { $cond .= ' AND (LOWER(pd.name) LIKE "%' . $this->db->escape($word) . '%"'; } else { $cond .= ' AND (1=0'; } if ($searchIn['model'] === true) { $cond .= ' OR LOWER(p.model) LIKE "%' . $this->db->escape($word) . '%"'; } if ($searchIn['sku'] === true) { $cond .= ' OR LOWER(p.sku) LIKE "%' . $this->db->escape($word) . '%"'; } Добавил процент LIKE "%' в строке, относящейся к sku. Поиск начал искать с любого места запроса