Всем доброго времени суток.
Возникла проблема с обработчиками событий на сайте.
Создал файл 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); } |