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

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

Добавление своего поля (макрос в терминологии Битрикс) в почтовый шаблон заключается в регистрации обработчика 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); //отправляем, срабатывает почтовое событие у которого есть шаблон с нашим макросом
}
        }
    }
}

Ещё статьи:

12.10.2020 Три золотых правила перед обновлением битрикс
Довольно часто банальное обновление приводит к ошибкам и потере работоспособности сайта битрикс. Чтобы потом не тратить своё время и нервы следует соблюдать три простых правила: 1. проверка системы, исправление ошибок, Оптимизация и проверка таблиц бд ID: 308

09.10.2020 Операторы сравнения для getList
Полный список операторов сравнения, которые можно использовать в выборке getList в так называемом фильтре ID: 306

22.09.2020 Отладка ошибок битрикс модулей
Часто не понятно с чем связана ошибка модуля и каких ему в реальности не хватает входных параметров, так как в документации об этом может быть не сказано.
Для этого есть два способа. ID: 256

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