Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!
СОБЫТИЯ МОДУЛЯ
В модуле есть 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']);
}
}
}
}
}
Назад в раздел