Всем доброго времени суток.
Проблема банальна: нужно создать обработчик событий.
При занесении AddEventHandler, а так же функции обработчика в init.php все прекрасно работает и обрабатывается. Появилась логичная идея не захламлять init.php лишними функциями, а вынести их в отдельный файл, с чем и возникла проблема: никаких признаков работы не наблюдается.
Пример исходного рабочего кода, полностью занесенного в init.php:
Итогом выполнения кода является добавление строки $text в какой-то файл на сервере при событии "OnIBlockPropertyBuildList".
Код с вынесением:
Итогом выполнения кода является... ничего. Файл не дописывается, при удалении - не создается.
Вопрос банален - в чем ошибка разнесения кода?..
C RegisterModuleDependences, кстати, та же история.
BTW в чем смысл оформления функций обработчиков через классы в примерах документации? Упорядоченность и красивый вид?
Проблема банальна: нужно создать обработчик событий.
При занесении AddEventHandler, а так же функции обработчика в init.php все прекрасно работает и обрабатывается. Появилась логичная идея не захламлять init.php лишними функциями, а вынести их в отдельный файл, с чем и возникла проблема: никаких признаков работы не наблюдается.
Пример исходного рабочего кода, полностью занесенного в init.php:
| Код |
|---|
function 4test()
{
$h = fopen("test.txt","a");
$text = "isItWorking?";
fwrite($h,$text);
fclose($h);
}
AddEventHandler("iblock","OnIBlockPropertyBuildList","4test");
|
Код с вынесением:
| Код |
|---|
/*файл init.php*/
AddEventHandler("iblock","OnIBlockPropertyBuildList","4test",100,"\bitrix\php_interface\test_property\prop_type.php");
/*файл prop_type.php, расположение: имя_сайта\bitrix\php_interface\test_property\prop_type.php*/
function 4test()
{
$h = fopen("test.txt","a");
$text = "isItWorking?";
fwrite($h,$text);
fclose($h);
}
|
Вопрос банален - в чем ошибка разнесения кода?..
C RegisterModuleDependences, кстати, та же история.
BTW в чем смысл оформления функций обработчиков через классы в примерах документации? Упорядоченность и красивый вид?
