Используем данное событие, если необходимо добавить недостающих полей.
Как в битриксе добавить свои поля в почтовом событии
Если вы используете систему почтовых событий битрикса, у вас наверняка возникает вопрос как изменить поля или добавить свои. В этом поможет 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().
Механизм событий очень полезный, его можно изучать много раз, и всё равно находить в нем что-нибудь новое 🙂 . Желаю вам новых открытий.
Ваш пост очень помог. Стояла задача: задавать разных получателей в зависимости от выбранных значение radiogrup в форме.
$arFields[“EMAIL_TO”] = “qqqqq@qqqqq.ru”;
Спасибо!
рад что вам пригодилось 😉 заходите к нам еще
Добрый день! Может быть вы мне поможете?
Создала такой обработчик. Требуется в ссылке выводить символьный код элементов инфоблока. Как его получить в обработчике?
AddEventHandler(“main”, “OnBeforeEventAdd”, array(“MyClass”, “OnBeforeEventAddHandler”));
class MyClass
{
function OnBeforeEventAddHandler(&$event, &$lid, &$arFields)
{
$event = “COMPANY_CREATED”;
$arFields[“LINK_CODE”] = “/company/’CODE'”;
}
}