Всем доброго времени суток.
Возникла проблема с обработчиками событий на сайте.
Создал файл init.php в папке "/local/php_interface/s1/init.php"
Сам файл подключается. Выводил из него логи в текстовый файл, всё ок.
Но обработчики событий не срабатывают никакие вообще. Файл log.txt лежит рядом с init.php. Если в него написать любой лог без какого-либо события, то работает.
Пробовал разными способами.
Возникла проблема с обработчиками событий на сайте.
Создал файл init.php в папке "/local/php_interface/s1/init.php"
Сам файл подключается. Выводил из него логи в текстовый файл, всё ок.
Но обработчики событий не срабатывают никакие вообще. Файл log.txt лежит рядом с init.php. Если в него написать любой лог без какого-либо события, то работает.
Пробовал разными способами.
| Код |
|---|
use Bitrix\Main;
/*ЭТО РАБОТАЕТ*/
$text = date('Y-m-d H:i:s') . ' init';
file_put_contents(__DIR__ . '/log.txt', $text . PHP_EOL, FILE_APPEND);
/*------------------------*/
/*Всё, что ниже - не работает*/
Main\EventManager::getInstance()->addEventHandlerCompatible("main", "OnAfterUserUpdate", function(&$fields) {
$log = date('Y-m-d H:i:s') . ' ' . print_r($fields, true);
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
});
/*---------------------------------------------------------------------------*/
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", 'myFunc');
function myFunc(&$arFields){
$log = date('Y-m-d H:i:s') . ' ' . print_r($arFields, true);
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
}
/*-----------------------------------------------------------------------------*/
Main\EventManager::getInstance()->addEventHandler('iblock','OnBeforeIBlockElementAdd','myFunction');
function myFunction(Main\Event $event){
$log = date('Y-m-d H:i:s') . ' Works!';
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
}
|