Как в 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 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

Залишити відповідь