Модуль «Подписка, рассылки» предназначен для организации списков рассылки, а так же подписки пользователей на рассылки по привычной схеме.
Организация своих переменных в шаблоне рассылки является актуальной задачей, для реализации более персонализированных рассылок.
Итак приступаем, для начала в шаблоне письма нужно указать свои переменные. Привычным образом для 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# будет подставлена текущая дата. Разумеется, переменные можно переделывать под свои нужды, к примеру, запрашивать данные подписчика (если они есть), ну или ещё что-либо, исходя из поставленных задач.