Поставлено задача, организовать сортировку результатов поиска по наличию товаров. Тогда это в результате первыми показывались товары в наличии, а потом нет в наличии. Для этого сделано нижеследующее:
1. Пишем класс наблюдателя, размещаем его в modules/search/controller/observer.php
class Search_Controller_Observer
{
static public function onBeforeExecuteFind($object, $args)
{
$args[1]
->leftJoin('shop_warehouse_items', 'shop_warehouse_items.shop_item_id', '=', 'search_pages.module_value_id')
->groupBy('search_pages.module_value_id')
->clearOrderBy()
->orderBy(Core_QueryBuilder::expression('SIGN(SUM(`shop_warehouse_items`.`count`))'), 'DESC');
}
}
Re: Сортировка результатов поиска в поисковом модуле
Добрый день!
После внедрения выдаётся ошибка:
"Предупреждение: call_user_func() expects parameter 1 to be a valid callback, class 'Search_Controller_Observer' not found в файле `/modules/core/event.php (строка 134)"
Не подскажете с чем связана?