@photosho

Почему может не вызываться обработчик «BeforeIndexHandler»?

Почему может не вызываться обработчик "BeforeIndexHandler"? Объявление обработчика беру с официального сайта, код (init.php) такой:

AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
function BeforeIndexHandler($arFields) {
	echo("проверка");
}


Ничего не выводится. "AddMessage2Log()" тоже пробовал. Если "echo" вынести за пределы функции, то текст, записанный внутри, выводится (то есть, файл "init.php" подключается нормально). Использую компонент "search.title".
  • Вопрос задан
  • 591 просмотр
Пригласить эксперта
Ответы на вопрос 1
alexyarik
@alexyarik
Битрикс разработчик
А что тут должно работать? Возьмите по примеру и проверьте на блоке новостей
<?
// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("search", "BeforeIndex", Array("MyClass", "BeforeIndexHandler"));

class MyClass
{
// создаем обработчик события "BeforeIndex"
function BeforeIndexHandler($arFields)
{
if($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == 33)
{
if(array_key_exists("BODY", $arFields))
{
$arFields["BODY"] .= " самые свежие новости";
}
}
return $arFields;
}
}
?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы