Qbic,
в Search_Controller_Show используются драйверы поиска, стандартно их два: hostcms и sphinx
Посмотрите
Search_Controller_Hostcms
в нем есть хук
Core_Event::notify(get_class($this) . '.onBeforeExecuteFind', $this, array($query, $oSearch_Pages));
через Search_Controller_Hostcms.onBeforeExecuteFind вы можете $oSearch_Pages объединить с таблицей товаров, отменить примененные сортировки и сделать сортировку по цене.
Core_Event::attach('Search_Controller_Hostcms.onBeforeExecuteFind', array('Search_Controller_Observer', 'onBeforeExecuteFind'));
class Search_Controller_Observer
{
static public function onBeforeExecuteFind($object, $args)
{
$args[1]
->leftJoin('таблица', 'таблица.shop_item_id', '=', 'search_pages.module_value_id')
->groupBy('search_pages.module_value_id')
->clearOrderBy()
->orderBy('поле', 'DESC');
}
}