Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
Вопрос: Разрешать начисление бонусов только пользователям логин которых состоит из 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
Назад в раздел