telephone-icon+38(097)195-66-17
telephone-icon+38(063)211-55-81
Main menu
ГлавнаяБлог1С-БитриксСобытияУдаление свойства элемента из поискового индекса с помощью события BeforeIndex

Удаление свойства элемента из поискового индекса с помощью события BeforeIndex

Отключение индексации по описанию для анонса и детальному описанию элементов инфоблока.

<?
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler"); 

function BeforeIndexHandler($arFields) {
	$arrIblock = array(2); //ID инфоблоков, для которых производить модификацию 
	$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; 
	}
}
?>

Этот код сработает либо при полной переиндексации сайта либо при сохранении элемента инфоблока.

ВКонтакт Facebook Google Plus Одноклассники Twitter Livejournal Liveinternet Mail.Ru

Комментарии

  1. Отличный способ, большое спасибо!

    Автор: Доброжелатель Создано:
  2. Доброго дня! А не подскажете, как исключить из поиска раздел?

    Автор: Александр Создано:

Возврат к списку