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 { public static function OnBeforeEventAddHandler(&$event, &$lid, &$arFields) { $arFields["NEW_FIELD"] = "Новый макрос для почтового шаблона"; $arFields["VS_BIRTHDAY"] = "Изменение существующего макроса"; $lid = 's2'; //Изменяем привязку к сайту } } ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024