Настройка умного поиска для Аспро: Некст, Максимум, Оптимус
Установка модуля
Для начала необходимо установить и настроить его по стандартной схеме, описанной тут.
Копируем шаблоны поисковых компонент
1. Копируем шаблоны компонент поиска search.title
Для этого надо скопировать папки corp и mobile_search из папки /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/search.title
в
/bitrix/templates/.default/components/itd/search.title
2. Копируем шаблоны компонент поиска search.page
Для этого надо скопировать папку .default из папки /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/catalog.search/main/bitrix/search.page в /bitrix/templates/.default/components/itd/search.page
Прописываем использование новых компонент
Список файлов, где необходимо заменить bitrix:search.title на itd:search.title:
- /include/footer/site-search.php
- /include/top_page/search.title.catalog.php
- /include/top_page/search.title.mobile.php
Список файлов, где необходимо заменить bitrix:search.page на itd:search.page:
- /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/catalog.search/main/include_search_page.php
- /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/catalog.search/main/template.php
Если вы хотите, что бы результаты поиска сортировались по релевантности, а не по количеству показов товаров в каталоге, то необходимо в файле /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/catalog.search/main/template.php
Найти строчку
$show = $arParams["PAGE_ELEMENT_COUNT"];И заменить код на
$show = $arParams["PAGE_ELEMENT_COUNT"]; // сортируем по релевантности: $sort = 'ID'; $sort_order = $arElements;Если же такой строки не нашли, то надо поискать строку
if($sort == "PRICE")И выше неё вставить код
if ($sort === 'RANK') {
$sort = 'ID';
$sort_order = $arElements;
}
На странице поиска сортировку по умолчанию лучше сделать "По релевантности".
Для этого в начале файла /bitrix/templates/#ШАБЛОНА_САЙТА#/components/bitrix/catalog.search/main/template.php
найдите строчку
$sort = "SHOWS";и после неё вставьте код
if(isset($_GET['q'])) {
$arParams["ELEMENT_SORT_FIELD"] = 'RANK';
}
Всё, теперь при использовании поиска на сайте будет использоваться улучшенный поиск.
Нужна помощь?
Если у вас возникли проблемы при настройке или вы нашли ошибку в документации, напишите нам.