Есть вопросы, которые вы не смогли решить по нашим публикациям самостоятельно? Ждем ваше обращение в нашей службе техподдержки!

СОБЫТИЯ МОДУЛЯ

В модуле есть 5 событий
 

  • OnBeforeBonusAdd - перед добавлением бонусов
  • OnAfterBonusAdd - после добавления бонусов
  • OnBeforeBonusNotification - перед отправлением письма
  • OnAfterBonusNotification - после отправления письма
  • OnBonusSendSMS - отправить SMS (в обработчике события пишите свой код отправки SMS)


Вызовы событий (пример)

use \Bitrix\Main\EventManager;


EventManager::getInstance()->addEventHandler("vbcherepanov.bonus","OnBeforeBonusAdd","OnBeforeBonusAdd");
EventManager::getInstance()->addEventHandler("vbcherepanov.bonus","OnAfterBonusAdd","OnAfterBonusAdd");
EventManager::getInstance()->addEventHandler("vbcherepanov.bonus","OnBeforeBonusNotification","OnBeforeBonusNotification");
EventManager::getInstance()->addEventHandler("vbcherepanov.bonus","OnAfterBonusNotification","OnAfterBonusNotification");
EventManager::getInstance()->addEventHandler("vbcherepanov.bonus","OnBonusSendSMS","OnBonusSendSMS");



function OnBeforeBonusAdd(&$FIELDS){
    \Bitrix\Main\Diag\Debug::writeToFile(array($FIELDS),"","/OnBeforeBonusAdd.txt");
}


function OnAfterBonusAdd(&$FIELDS){
    \Bitrix\Main\Diag\Debug::writeToFile(array($FIELDS),"","/OnAfterBonusAdd.txt");
}



function OnBeforeBonusNotification(&$FIELDS){
    \Bitrix\Main\Diag\Debug::writeToFile(array($FIELDS),"","/OnBeforeBonusNotification.txt");
}


function OnAfterBonusNotification(&$FIELDS){
    \Bitrix\Main\Diag\Debug::writeToFile(array($FIELDS),"","/OnAfterBonusNotification.txt");
}


---------------------------------------------------------------
Отправка СМС через модуль bxmaker.smsnotice


use Bitrix\Main\EventManager;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler("vbcherepanov.bonus","OnBonusSendSMS","OnBonusSendSMS");

if(!function_exists('OnBonusSendSMS')) {
    function OnBonusSendSMS($arr)
    {
        if ($arr['SETTINGS']['SENDSMS'] == 'Y' && $arr['FIELDS']['USERID']) {
            $userFields = CUser::GetList(($by = "personal_country"), ($order = "desc"), array('ID' => $arr['FIELDS']['USERID']), array('SELECT' => array('ID', 'PERSONAL_PHONE')))->Fetch();
            if ($userFields['PERSONAL_PHONE']) {
                if (CModule::IncludeModule("bxmaker.smsnotice")) {
                    $oManager = \BXmaker\SmsNotice\Manager::getInstance();
                    $result = $oManager->send($userFields['PERSONAL_PHONE'], $arr['FIELDS']['SMSDESCRIPTION']);
                }
            }
        }
    }
}




Назад в раздел



Часто задаваемые вопросы по модулям экспорта

Видео плейлист по настройке модулей экспорта