Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
Вопрос: Разрешать начисление бонусов только пользователям логин которых состоит из e-mail
Ответ:
Вы можете влиять на начисление бонусов через событие
OnBeforeBonusAdd
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler( "acrit.bonus", "OnBeforeBonusAdd", 'OnBeforeBonusAdd' );
function OnBeforeBonusAdd(&$fields){
// $fields['USER_ID']
// проверяете пользователя и устанавливаете $fields['VALUE'] = 0; тогда транзакция не запишется, бонусы не начислятся
}
в обновлении 3.1.4 - добавлена проверка обязательных полей
('LID', 'VALUE','USER_ID','ACCOUNT_ID') метода \Acrit\Bonus\Core::transactionSave() после события OnBeforeBonusAdd
Назад в раздел
