Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
При начислении бонусов модуль в версии 3.5.500 отправят почтовое письмо по событию
Чтобы поменять шаблон отправляемого письма, чаще всего достаточно поменять это в настройке бонусного профиля:

Но есть и более гибкий способ через обработчик события
Пример обработчика:
// init.php
use Bitrix\Main\EventManager;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('acrit.bonus', 'OnBeforeAcritBonusEventSend',
/**
* Processes the provided fields and parameters.
*
* @param array{
* 'EVENT_NAME': string,
* 'LID': string,
* 'MESSAGE_ID': int,
* 'C_FIELDS': array{
* 'MESSAGE':string, 'SUBJECT':string, 'EMAIL':string
* }
* } $fields An array of fields passed by reference that may be modified within the method.
* @param array{
* 'PROFILE_ID': int,
* 'BONUS': array{
* 'VALUE': float, 'VALUE_FORMAT': string
* },
* 'TRANSACTION': array
* } $params An array of parameters containing additional data for processing.
* @return void This method does not return any value.
*/
static function (array &$fields, array $params) {
if ($params['PROFILE_ID'] == 9) {
$fields['C_FIELDS']['MESSAGE'] = 'Change email message by bonus profile 9';
}
if ($params['PROFILE_ID'] == 8) {
$fields['MESSAGE_ID'] = 12; // Change message ID by bonus profile 8
}
}
);
Назад в раздел
ACRIT_BONUS_MAIL
Чтобы поменять шаблон отправляемого письма, чаще всего достаточно поменять это в настройке бонусного профиля:

Но есть и более гибкий способ через обработчик события
OnBeforeAcritBonusEventSend
.Пример обработчика:
// init.php
use Bitrix\Main\EventManager;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler('acrit.bonus', 'OnBeforeAcritBonusEventSend',
/**
* Processes the provided fields and parameters.
*
* @param array{
* 'EVENT_NAME': string,
* 'LID': string,
* 'MESSAGE_ID': int,
* 'C_FIELDS': array{
* 'MESSAGE':string, 'SUBJECT':string, 'EMAIL':string
* }
* } $fields An array of fields passed by reference that may be modified within the method.
* @param array{
* 'PROFILE_ID': int,
* 'BONUS': array{
* 'VALUE': float, 'VALUE_FORMAT': string
* },
* 'TRANSACTION': array
* } $params An array of parameters containing additional data for processing.
* @return void This method does not return any value.
*/
static function (array &$fields, array $params) {
if ($params['PROFILE_ID'] == 9) {
$fields['C_FIELDS']['MESSAGE'] = 'Change email message by bonus profile 9';
}
if ($params['PROFILE_ID'] == 8) {
$fields['MESSAGE_ID'] = 12; // Change message ID by bonus profile 8
}
}
);
Назад в раздел