Добавление своего поля (макрос в терминологии Битрикс) в почтовый шаблон заключается в регистрации обработчика 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); //отправляем, срабатывает почтовое событие у которого есть шаблон с нашим макросом
}
}
}
}
Ещё статьи:
31.07.2024Нюансы продления лицензии на 3 и 6 месяцев от 12 месяцев
На маркетплейсе есть такая кнопка "купить продление", при нажатии на неё есть выпадающий список продолжительность (3 мес. самый дешовый вариант и 6 мес.).
У розничного пользователя такой кнопки, она есть под партнёрским аккаунтом разработчика.
ID: 494
31.07.2024Ошибка в блоке "Вы смотрели" на базе catalog.section
При создании блока "Вы смотрели" на базе catalog.section на детальной странице товара столкнулся с ошибкой, когда блок работал не корректно, и данные о просмотренных товарах не обновлялись.
ID: 493