Модуль «Подписка, рассылки» предназначен для организации списков рассылки, а так же подписки пользователей на рассылки по привычной схеме.
Организация своих переменных в шаблоне рассылки является актуальной задачей, для реализации более персонализированных рассылок.
Итак приступаем, для начала в шаблоне письма нужно указать свои переменные. Привычным образом для Bitrix, переменные мы указываем в таком виде: #ИМЯ_ПЕРЕМЕННОЙ#. Для нашего примера будет достаточно одной переменной, чтобы посмотреть, что это работает, присвоим ей имя #DATE#. Сохраняем шаблон, теперь к самой сути.
Перед отправкой письма нам будет нужно просмотреть тело письма, и заменить переменные в нем. Для этого в файле init.php который размещается в /bitrix/php_interface/ нужно прописать функцию-обработчик, которая будет вызываться по событию BeforePostingSendMail (событие перед отправкой письма):
// обработчик события
AddEventHandler("subscribe", "BeforePostingSendMail", Array("SubscribeVars", "BeforePostingSendMailHandler"));
class SubscribeVars {
function BeforePostingSendMailHandler($arFields){
// получаем текущую дату
$date = date("Y-m-d");
// заменяем переменную #DATE#
$arFields["BODY"] = str_replace("#DATE#", $date, $arFields["BODY"]);
return $arFields;
}
}
В итоге, при отправке письма вместо переменной #DATE# будет подставлена текущая дата. Разумеется, переменные можно переделывать под свои нужды, к примеру, запрашивать данные подписчика (если они есть), ну или ещё что-либо, исходя из поставленных задач.