поиск Search Page?
Пробовал так
AddEventHandler("search", "BeforeIndex", Array("BeforeIndex", "BeforeIndexHandler"));
CModule::AddAutoloadClasses('', array(
'BeforeIndex' => '/bitrix/php_interface/classes/BeforeIndex.php',
)
);
А вот сам обработчик
<?
class BeforeIndex {
$filename = $_SERVER['DOCUMENT_ROOT'] . 'bitrix/php_interface/file.txt';
function BeforeIndexHandler($arFields) {
$fh = fopen($filename, 'w');
fwrite($fh, $arFields);
fclose($fh);
$IBLOCK_ID = 2 //нужный инфоблок
if ($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == $IBLOCK_ID) {
$arSelect = Array("ID", "NAME", "PROPERTY_VESART");
$arFilter = Array("IBLOCK_ID" => $IBLOCK_ID, "ID" => $arFields['ITEM_ID']);
$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
if ($ar_res = $res->GetNext()) {
$db_props = CIBlockElement::GetProperty(2, $arFields['ITEM_ID'], array("sort" => "asc"), Array("CODE"=>"VESART"));
if($ar_props = $db_props->Fetch()) {
$DESCRIPTION = $ar_props["DESCRIPTION"];
}
$arFields["BODY"].= PHP_EOL.$DESCRIPTION;
}
}
return $arFields;
}
}
?>
Но вообще не срабатывает никак
Вызов неправильный
1. Хотите что-то добавить/скорректировать, используйте возвращаемое значение &, return тут не нужен 2. Зачем класс создавать для 1 функции? Используйте вызов непосредственно внутри init.php, а после отладки выносите в отдельный файл и подключайте
Обсуждают сегодня