О web-разработке
и даже немного больше...

Персонализация писем в Bitrix

Привет. Как известно в битриксе одной из составляющих почтовой системы являются почтовые шаблоны, которые удобно использовать при отправке писем, привязав шаблон к какому-либо событию. Дело вот в чем, есть почтовый шаблон, в котором прописываются строки аля «Уважаемый(ая)», когда присылается такое письмо, сразу становится понятно, что письмо отправляется «неизвестно кому». Это является не лучшей практикой в самом то деле. И в качестве задачи попробуем добавить переменную в шаблоне, которая в зависимости от пола пользователя будет подставлять нужное значение.

Давайте переопределим параметры переменных для почтового события USER_INFO. Это событие возникает, когда администратор сайта создает, либо меняет данные пользователя в админке, и указывает на флажок для отправки уведомления пользователю.

В файле /bitrix/php_interface/init.php следует прописать такой код:

AddEventHandler("main", "OnSendUserInfo", "MyOnSendUserInfoHandler"); 
function MyOnSendUserInfoHandler(&$arParams)
{
	$arParams["FIELDS"]["SECOND_NAME"] = $arParams["USER_FIELDS"]["SECOND_NAME"];
	$arParams["FIELDS"]["PASSWORD"] = $_POST["NEW_PASSWORD"];
	if ($arParams["USER_FIELDS"]["PERSONAL_GENDER"] == "M") {
		$arParams["FIELDS"]["GENDER"] = "Уважаемый";
	}
	elseif ($arParams["USER_FIELDS"]["PERSONAL_GENDER"] == "F") {
		$arParams["FIELDS"]["GENDER"] = "Уважаемая";
	}
	else {
		$arParams["FIELDS"]["GENDER"] = "";
	}
}

Событие «OnSendUserInfo» вызывается в методе CUser::SendUserInfo и предназначено для возможности переопределения параметров для отправки почтового события USER_INFO. Теперь в самом шаблоне, будут доступны шорткоды #GENDER#, #SECOND_NAME#, #PASSWORD#, которые можно будет использовать для оформления письма.

Опубликован: 08.11.2014 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Комментарии

  1. Дмитрий пишет:

    В версии 16.0 в каталоге bitrix/php_interface/ нет файла init.php. Или Вы подразумеваете, что его надо создать?

    1. htmaker пишет:

      Добрый день. Его может и не быть. В этом случае его следует создать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта