Привет. Как известно в битриксе одной из составляющих почтовой системы являются почтовые шаблоны, которые удобно использовать при отправке писем, привязав шаблон к какому-либо событию. Дело вот в чем, есть почтовый шаблон, в котором прописываются строки аля «Уважаемый(ая)», когда присылается такое письмо, сразу становится понятно, что письмо отправляется «неизвестно кому». Это является не лучшей практикой в самом то деле. И в качестве задачи попробуем добавить переменную в шаблоне, которая в зависимости от пола пользователя будет подставлять нужное значение.
Давайте переопределим параметры переменных для почтового события 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#, которые можно будет использовать для оформления письма.
В версии 16.0 в каталоге bitrix/php_interface/ нет файла init.php. Или Вы подразумеваете, что его надо создать?
Добрый день. Его может и не быть. В этом случае его следует создать.