Сортировка результатов поиска

#
Сортировка результатов поиска
Подскажите, возможно ли на 6 версии сделать сортировку результатов поиска? Например по цене от меньшего к большему, хотя бы по умолчанию, чтобы товары сортировались, а то сейчас там полная вахканалия.
#
Re: Сортировка результатов поиска
У вас модуль http://www.hostcms.ru/hostcms/modules/search/ выполняет поиск?
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
#
Re: Сортировка результатов поиска
Seri писал(а):
У вас модуль http://www.hostcms.ru/hostcms/modules/search/ выполняет поиск?

Да, конечно! По лицензии
Модератор
#
Re: Сортировка результатов поиска
Qbic,
Поиск ведется по поисковому индексу, а в поисковом индексе могут быть далеко не только товары, но и страницы сайта, новости и множество других страниц.
#
Re: Сортировка результатов поиска
HostCMS писал(а):
Qbic,
Поиск ведется по поисковому индексу, а в поисковом индексе могут быть далеко не только товары, но и страницы сайта, новости и множество других страниц.

У меня используется и ищет только товары. Ведь это всё таки интернет-магазин и поиск очень важный аспект
Модератор
#
Re: Сортировка результатов поиска
Qbic,
даже группы не ищет? Странно ...
#
Re: Сортировка результатов поиска
HostCMS писал(а):
даже группы не ищет? Странно ...

Отключил) Чтобы только товары прилетали)
#
Re: Сортировка результатов поиска
Qbic писал(а):
Чтобы только товары прилетали)

Можно организовать поиск только товаров в магазине на основе контролера ИМ как уже обсуждали по теме http://www.hostcms.ru/forums/3/7579/ и тогда можно применять разные сортировки и фильтры над результатом поиска.
E-mail: info@syrbek.ru / телега: @syrbek /skype: activexm / syrbek.ru / Поддержка сайтов / г. Москва [HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, Git, SVN, Redmine]
Модератор
#
Re: Сортировка результатов поиска
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');
    }
}
Модератор
#
Re: Сортировка результатов поиска
С версии 7.0.9 изменились имена таблиц.


Core_Event::attach('Search_Controller_Hostcms.onBeforeExecuteFind', array('Search_Controller_Observer', 'onBeforeExecuteFind'));

class Search_Controller_Observer
{
    static public function onBeforeExecuteFind($controller, $args)
    {
        $searchPageTableName = $controller->getSearchPageTableName($controller->site_id);

        $args[1]
            ->leftJoin('таблица', 'таблица.shop_item_id', '=', $searchPageTableName . '.module_value_id')
            ->groupBy($searchPageTableName . '.module_value_id')
            ->clearOrderBy()
            ->orderBy('поле', 'DESC');
    }
}
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация