Как добавить или изменить поля в почтовых событиях Event Битрикс

Используем данное событие, если необходимо добавить недостающих полей.

Как в битриксе добавить свои поля в почтовом событии

Если вы используете систему почтовых событий битрикса, у вас наверняка возникает вопрос как изменить поля или добавить свои. В этом поможет OnBeforeEventAdd.

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

На что стоит обратить внимание? В первом параметре, $event, хранится идентификатор события, например:

NEW_ORDER

$lid обсуждать не будем, id сайта с которого вызвано события (пригодится при многосайтовости). Чтобы узнать содержимое $arFields можно использовать AddMessage2Log().

Механизм событий очень полезный, его можно изучать много раз, и всё равно находить в нем что-нибудь новое 🙂 . Желаю вам новых открытий.

Если у вас возникли вопросы связанные с событиями в CMS Битрикс, или на вашем сайте просто необходимо выполнить доработки функционала, обращайтесь.

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

3 комментария

  1. Ваш пост очень помог. Стояла задача: задавать разных получателей в зависимости от выбранных значение radiogrup в форме.
    $arFields[«EMAIL_TO»] = «qqqqq@qqqqq.ru»;
    Спасибо!

  2. Добрый день! Может быть вы мне поможете?
    Создала такой обработчик. Требуется в ссылке выводить символьный код элементов инфоблока. Как его получить в обработчике?

    AddEventHandler(«main», «OnBeforeEventAdd», array(«MyClass», «OnBeforeEventAddHandler»));
    class MyClass
    {
    function OnBeforeEventAddHandler(&$event, &$lid, &$arFields)
    {
    $event = «COMPANY_CREATED»;
    $arFields[«LINK_CODE»] = «/company/’CODE'»;
    }
    }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

#SaveUkraine