Добавление любого поля -макроса в почтовый шаблон

Добавление любого поля -макроса в почтовый шаблон

Просмотров: 4942
Добавление своего поля (макрос в терминологии Битрикс) в почтовый шаблон заключается в регистрации обработчика init.php, получение значения поля, присваиваем значение макросу, который будет доступен в почтовом шаблоне и отправляем CEvent::Send наше почтовое событие.

Скачать пример

Пример кода добавления своего поля в почтовый шаблон Битрикс

 // регистрируем обработчик для благодарностей
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("MyAdmin", "OnAfterIBlockElementAddHandler")); class MyAdmin {     // создаем обработчик события "OnAfterIBlockElementAdd"
    function OnAfterIBlockElementAddHandler(&$arFields)     {
 if(!$arFields["RESULT"])
        return false;
//инфоблок из которого получаем значения
        if ($arFields["IBLOCK_ID"] == 25)
        {
$db_props = CIBlockElement::GetProperty(25, $arFields['ID'], "sort", "asc", Array("CODE"=>"USER"));
if ($ar_props = $db_props->Fetch())
    {
$THANKSUSER=$ar_props['VALUE']; //получаем значение сотрудника, которому объявили благодарность
}
$rsUser = CUser::GetByID($THANKSUSER); 
$arUser = $rsUser->Fetch(); 
$WORKEREMAIL=$arUser['EMAIL']; //получаем значение почты сотрудника, которому объявили благодарность
{ $arIBlockElement = GetIBlockElement($arFields["ID"]);
                $arSend = array(
//WORKER_EMAIL -это и есть наш макрос, который вставляем в шаблон #WORKER_EMAIL#
'WORKER_EMAIL' => $WORKEREMAIL,
'TEXT' => $arIBlockElement['DISPLAY_PROPERTIES']['USER']['DISPLAY_VALUE'].' добавил благодарность');
$arrSite = 's1';
                CEvent::Send('THANKS2',$arrSite,$arSend); //отправляем, срабатывает почтовое событие у которого есть шаблон с нашим макросом
}
        }
    }
}

Ещё статьи:

02.04.2026 Разговоры о фрилансе
Предыстория - автор вопроса хочет войти в IT сферу, я человеку начал подсказывать в комментариях на форуме. На примере вопросов и ответов в разговоре можно увидеть типовые ошибки и непонимание начинающего, и в будущем избежать повторения ошибок.

21.03.2026 PHP файловый менеджер
Попался мне такой PHP файловый менеджер, вполне функциональный, выкладываю в копилку скриптов

21.03.2026 Ошибка CUser::IsAuthorized() cannot be called statically
Такая ошибка старых весрий битрикс давно известна. Нужно заменить CUser::IsAuthorized() на $USER->IsAuthorized(), но в моём случае я сначала не смог найти место, где же находится проблема.

© 2015-2026 Web админ
Связаться по WhatsApp