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 подключить класс компонента

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

Битрикс 24 удалить сделку

В статье приводятся способы удаления сделки.

Bitrix 24 получить ссылку на контакт, сделку, компанию, лид и т.д.

В статье приводится пример кода для получения ссылки на контакт, сделку, компанию, лид и т.д. с помощью метода \CCrmOwnerType::GetEntityShowPath()

Bitrix сбросить буфер вывода

Функция RestartBuffer() в Bitrix используется для сброса буфера вывода. Она позволяет прервать вывод страницы на определенном этапе выполнения скрипта и начать вывод заново. В статье рассмотрим основные сценарии использования данной функции, рассмотрим пример кода.

Bitrix выполнить произвольный sql запрос

В статье приведен пример как выполнить произвольный sql запрос используя стандартные средства Bitrix

Bitrix получить путь до компонента

В статье приводится пример кода для получения директории в которой находится файл компонента.

Комментарии

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