Добавление любого поля -макроса в почтовый шаблон
Добавление своего поля (макрос в терминологии Битрикс) в почтовый шаблон заключается в регистрации обработчика 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); //отправляем, срабатывает почтовое событие у которого есть шаблон с нашим макросом
}
}
}
}
Ещё статьи:
08.11.2023
Прощай bitrix.xscan, не стало битрикс скан модуля
Сегодня увидел, что полезного модуля bitrix.xscan не стало на маркетплейсе.
ID: 464
26.07.2023
Сохренение ютм меток в сессию
Вариант сохренения ютм меток в сессию в афйле init.php
ID: 462
29.06.2023
Почему DNS есть, но ошибка "Не удалось получить записи с DNS серверов"
Проверка на VPS показывает, что DNS есть, но по факту ошибка "Не удалось получить записи с DNS серверов"
ID: 461