Доброго времени суток!
Нашел статью:
https://camouf.ru/blog-note/3081/ и всё вроде понятно, но смутил текст:
воспользовавшись событием "BeforeIndex" который вызывается перед индексацией элемента методом CSearch::Index
Как и где его можно/нужно вызвать BeforeIndex?
в файл init все написал, у меня тут 11, а не 48 /// $arrIblock = array(48); ///
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
function BeforeIndexHandler($arFields) {
$arrIblock = array(48);
$arDelFields = array("DETAIL_TEXT", "PREVIEW_TEXT") ;
if (CModule::IncludeModule('iblock') && $arFields["MODULE_ID"] == 'iblock' && in_array($arFields["PARAM2"], $arrIblock) && intval($arFields["ITEM_ID"]) > 0){
$dbElement = CIblockElement::GetByID($arFields["ITEM_ID"]) ;
if ($arElement = $dbElement->Fetch()){
foreach ($arDelFields as $value){
if (isset ($arElement[$value]) && strlen($arElement[$value]) > 0){
$arFields["BODY"] = str_replace (CSearch::KillTags($arElement[$value]) , "", CSearch::KillTags($arFields["BODY"]) );
}
}
}
return $arFields;
}
}