Как в bitrix:search.page ограничить по заголовкам

Не меняя код компонента, напишем обработчик событий для поиска.

Как ограничить поиск только по заголовкам

Для этого в файле init.php создаем событие BeforeIndex. Если бы мы делали поиск по инфоблоку, то фильтр выглядел бы как-то так:

$search = $_GET['q'];
$arFilter = ["NAME" => '%'.$search.'%'];

Данная запись будет искать по любому совпадению в имени элемента инфоблока. Для компонента, который использует поисковый индекс, пишем обработчик события:

AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");

function BeforeIndexHandler($arFields)
{
	$arFields["BODY"] = $arFields["TITLE"];
	return $arFields;
}

ВАЖНО! После добавления кода, обязательно нужно запустить переиндексацию в админке, в Поиске.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

- Создание сайтов на 1С-Битрикс любой сложности
- Вёрстка макетов Figma, Photoshop, Zeplin
- Поддержка проектов на Битриксе
- Разработка нового функционала для сайта
- Парсинг данных
- Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
- Интеграция по API со сторонними сервисами
и многое другое

E-mail: dmitriyribka@gmail.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *