Как добавить или изменить поля в почтовых событиях 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 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

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

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

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

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