Bitrix куда писать AddEventHandler

Функцию AddEventHandler() лучше писать в файл local/php_interface/init.php или если этого файла нет, то в bitrix/php_interface/init.php . Файл init.php подключается всегда, поэтому обработчик будет точно добавлен.

Теория

Функция AddEventHandler() в bitrix предоставляет возможность добавить свою логику при наступлении определенных событий в системе.

Пример регистрации обработчика, который является простой функцией:

<?php
AddEventHandler("main", "OnBeforeUserAdd", "myOnBeforeUserAddHandler");

Пример регистрации обработчика, который является методом класса:

<?php
AddEventHandler("main", "OnBeforeUserAdd", ["UserHandler", "OnBeforeUserAddHandler"]);

Новое ядро (d7)

Помимо функции AddEventHandler() в старом ядре есть метод addEventHandler() у объекта \Bitrix\Main\EventManager в новом ядре, пример его использования:

<?php 
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler("main", "OnEpilog", "myOnEpilog");

Заключение

В Bitrix развитая система событий, которая позволяет вам расширять функциональность проекта. События в системе возникают в разных местах: при добавлении пользователя, изменении элемента инфоблока, отправке формы и так далее. Например можно добавить свою вкладку в карточку элемента CRM как написано в этой статье.

Помимо стандратных событий можно добавлять свои и при необходимости добавлять на них обработчики как написано в этой статье.

Добавление обработчиков на события дает вам гибкость и контроль над тем, что происходит в вашем приложении. Например, можно изменить данные перед сохранением, отправить уведомление или выполнить другую полезную задачу.

Работать с системой событий Bitrix довольно просто. Она позволяет настроить проект под ваши нужды, добавить уникальные фишки и сделать сайт более удобным для пользователей.

Рубрики: PHP Bitrix

Если есть вопросы, что-то в статье не понятно или нашли ошибку, напишите об этом в комментариях, все комментарии читаются и по возможности материал будет доработан.
Популярные статьи

Bitrix Highloadblock Helper

HighloadblockHelper облегчает работу с Highload-блоками в Bitrix делая код чище и понятнее.

Перехват Fatal Error

Думаю каждому хотелось бы узнавать о фатальных ошибках на своих сайтах раньше клиента, приведенный в статье код поможет Вам в этом. Возможно он (клиент) даже не успеет ничего заметить.

Bitrix запись своих настроек в settings.php

Статья о том как разместить свои настройки не создавая велосипеды и костыли, а используя возможности системы.

Ведьмак 3 - игра, которая заслуживает внимания

Ведьмак 3 - легендарная игра в которую до сих пор интересно играть. В этой статье хочется поделится своим мнением о игре. Выделить сильные и слабые стороны.

Что нового в PHP 8.3?

Обзор новых возможностей PHP 8.3.

Что такое центральный банк?

Что такое центральный банк и как он влияет на экономику? Узнайте о функциях, задачах и механизмах работы центрального банка. О том  как центральный банк регулирует финансовую систему и обеспечивает стабильность экономики.

Комментарии

Комментариев пока нет
Данный сайт использует файлы cookies. Продолжая просмотр сайта, вы соглашаетесь с использованием файлов cookies.
ОК