Необходимо "научить" поиск bitrix:search.title искать по описаниям товаров и по текстам статей (поле DETAIL_TEXT).
Нашел пример чего-то подобного:
https://dev.1c-bitrix.ru/api_help/search/events/beforeindex.phpСделал по аналогии:
Код |
---|
<?php
// регистрируем обработчик
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
// создаем обработчик события "BeforeIndex"
function BeforeIndexHandler($arFields)
{
if(!CModule::IncludeModule("iblock")) // подключаем модуль
return $arFields;
if($arFields["MODULE_ID"] == "iblock")
{
$db_props = CIBlockElement::GetProperty( // Запросим свойства индексируемого элемента
$arFields["PARAM2"], // BLOCK_ID индексируемого свойства
$arFields["ITEM_ID"], // ID индексируемого свойства
array("sort" => "asc"), // Сортировка (можно упустить)
Array("CODE"=>"DETAIL_TEXT")); // CODE свойства
if($ar_props = $db_props->Fetch())
$arFields["TITLE"] .= " ".$ar_props["VALUE"]; // Добавим свойство в конец заголовка индексируемого элемента
}
return $arFields; // вернём изменения
}
?> |
Но - не работает.
Соответственно, что я делаю не так и как сделать "так"?