Да, пишите доп. методы, расширяя общий функционал (если в этом имеется необходимость).
По-быстрому (для ajax-поиска):
Файл:
/controllers/front/SearchController.php после:
Код:
foreach ($searchResults as &$product)
$product['product_link'] = $this->context->link->getProductLink($product['id_product'], $product['prewrite'], $product['crewrite']);
добавьте:
Код:
foreach($words as $word)
$score_array[] = 'content LIKE \'%'.pSQL($word).'%\'';
$res = Db::getInstance()->executeS('SELECT `id_cms` id_product, `meta_title` pname, `link_rewrite` prewrite FROM '._DB_PREFIX_.'cms_lang
WHERE id_lang = '.(int)Tools::getValue('id_lang').'
AND ('.implode(' OR ', $score_array).')
LIMIT 5
');
foreach ($res as &$i)
$i['product_link'] = $this->context->link->getCMSLink($i['id_product'], $i['prewrite']);
$searchResults = array_merge($res, $searchResults);