Как в 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

Пишите, отвечу на любые вопросы.
E-mail: dmitriyribka@gmail.com

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

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