Документация для разработчиков
Темная тема

OnBeforeEventAdd

Описание и параметры

функция-обработчик(
 string &$event,
 string &$lid,
 array &$arFields,
 string &$message_id,
 array &$files,
 string languageId = ''
)
Событие OnBeforeEventAdd вызывается в момент добавления почтового события в таблицу b_event. Как правило, задача обработчика данного события - изменить или добавить какое-либо значение, передаваемое в макросы почтового шаблона.  

Параметры

ПараметрОписание С версии
$event Идентификатор типа почтового события, например FORM_FILLING_ANKETA
$lid ID сайта, на котором был вызов метода CEvent::Send()
$arFields Массив параметров, которые передаются в обработчик события.
Пример массива:
Array
        (
            [RS_FORM_ID] => 1
            [RS_FORM_NAME] => Анкета посетителя сайта
            [RS_FORM_VARNAME] => ANKETA
            [RS_FORM_SID] => ANKETA
            [RS_RESULT_ID] => 11
            [RS_DATE_CREATE] => 24.07.2011 16:59:55
            [RS_USER_ID] => 1
            [RS_USER_EMAIL] => my@email.com
            [RS_USER_NAME] =>  
            [RS_USER_AUTH] =>  
            [RS_STAT_GUEST_ID] => 1
            [RS_STAT_SESSION_ID] => 1
            [VS_NAME] => sfdsf
            [VS_NAME_RAW] => sfdsf
            [VS_BIRTHDAY] => 21.07.2011
            [VS_BIRTHDAY_RAW] => 21.07.2011
            [VS_ADDRESS] => sdfdsf
            [VS_ADDRESS_RAW] => sdfdsf
            [VS_MARRIED] => Да [4]
            [VS_MARRIED_RAW] => Да
            [VS_INTEREST] => физика (2) [7]
                             программирование (5) [10]
            [VS_INTEREST_RAW] => физика,программирование
            [VS_AGE] => 30-39 (30) [13]
            [VS_AGE_RAW] => 30-39
            [VS_EDUCATION] => высшее (3) [19]
            [VS_EDUCATION_RAW] => высшее
            [VS_INCOME] =>  
            [VS_INCOME_RAW] =>  
            [VS_PHOTO] =>  
            [VS_PHOTO_RAW] =>  
        )
$message_idИдентификатор почтового шаблона (если указан). Если переменная определена в обработчике, то среди нескольких почтовых шаблонов по одному типу будет отправлен только с этим ID, а не все.11.0.16
$filesФайл16.0.1
$languageId (По умолчанию - текущий язык) Отвечает за отправку уведомлений на указанном языке (у почтовых шаблонов параметр "Язык"). Отправляются все шаблоны без указания языка и те у которых язык соответствует $languageId.

Фильтр по языку шаблонов не выполняется если передается переменная $messageId.

Пример функции-обработчика:

<?
class MyClass
{
    function onBeforeEventAdd(&$event, &$lid, &$arFields, &$messageId, &$files, &$languageId)
    {
         // код
    }
}
?>
16.5.8

Возвращаемое значение

Нет. Начиная с версии ядра 11.0.16 при возврате false добавление почтового события отменяется.

Пример функции-обработчика

<?
//Обработчик в файле /bitrix/php_interface/init.php
AddEventHandler("main", "OnBeforeEventAdd", array("MyClass", "OnBeforeEventAddHandler"));
class MyClass
{
	function OnBeforeEventAddHandler(&$event, &$lid, &$arFields)
	{
		$arFields["NEW_FIELD"] = "Новый макрос для почтового шаблона";
		$arFields["VS_BIRTHDAY"] = "Изменение существующего макроса";
		$lid = 's2'; //Изменяем привязку к сайту
	}
}
?>



© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх