Оповещение сотрудника на портале Битрикс24
Задача
Доработка на портале Битрикс24 оповещения сотрудника на его почту при добавлении элемента инфоблока к которому сотрудник привязан.
Этапы реализации
1) Разработка и программирование обработчика для добавления значения рабочей почты сотрудника, которому объявили благодарность (элемент инфоблока) в почтовый шаблон.
2) Создание почтового события и настройка почтового шаблона для оповещений сотрудников о новой благодарности
3) Тестирование работоспособности события оповещения о новой благодарности сотруднику.
Примечания:
/local/php_interface – в системной папке в файл init.php добавлен код нового обработчика для добавления значения (макроса) рабочей почты сотрудника, которому объявили благодарность в почтовый шаблон.
Для почтового события THANKS был добавлен новый почтовый шаблон [146] #SITE_NAME#: Вам была добавлена новая благодарность
Особенности
В процессе разработки обработчика у меня проблема вывести в почтовом шаблоне макрос поля, в моем случае это #’WORKER_EMAIL#
Как выяснилось, особенностью CEvent::Send является то, что любое доступное свойство элемента инфоблока можно передать в обработчике в почтовый шаблон и использовать.
Рабочий пример обработчика
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’ => $WORKEREMAIL,
‘TEXT’ => $arIBlockElement[‘DISPLAY_PROPERTIES’][‘USER’][‘DISPLAY_VALUE’].’ добавил благодарность’);
$arrSite = ‘s1’;
CEvent::Send(‘THANKS2’,$arrSite,$arSend);
}
}
}
}
Ещё статьи:
08.11.2023
Хроники БУС упадка
На днях произошли очередные изменения в БУС битрикс. Полезный модуль bitrix.xscan включили в состав проактивной защиты и убрали из бесплатного сегмента...
ID: 465
26.07.2023
Kwork.com закрыл доступ для резидентов РФ
Доступ к выставлению услуг теперь ограничен "К сожалению, вынуждены сообщить, что резиденты РФ в настоящее время не могут использовать сайт Kwork...
ID: 463
12.05.2023
Битрикс убрал тип поля "Привязка к карте Яндекс"
В новых обновлениях Битрикс убрал тип поля "Привязка к карте Яндекс".
ID: 455
Новые статьи в блоге:
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