1) Для добавления в поисковый индекс компонента “Поиск по заголовкам” (search.title) также значение свойства элемента (чтобы поиск был не только по названию элемента, но и по какому-либо из его свойств) необходимо добавить код в файл init.php:
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
function BeforeIndexHandler($arFields){
if(!CModule::IncludeModule("iblock")) return $arFields;
if($arFields["MODULE_ID"] == "iblock") {
$db_props = CIBlockElement::GetProperty(
$arFields["PARAM2"],
$arFields["ITEM_ID"],
array("sort" => "asc"),
Array("ID" =>[999])); // 999 - id свойства, которое нужно добавить в индекс
while($ar_props = $db_props->Fetch()){
$arFields["TITLE"] = $ar_props["VALUE"] . " " . $arFields["TITLE"];
}
}
return $arFields;
}2) В component.php компонента “search.title” заменить строку кода:
$arResult["alt_query"]? $arResult["alt_query"]: $arResult["query"] на:
preg_replace('/(\S+)/', '"\\1"', $arResult["query"])Проверялось на Управление сайтом 20.0.1650. (версия модуля интернет-магазин 20.0.687).