@Zzpro

Как отловить ввод купона в корзине bitrix?

Что то я совсем запутался в документации, не как не могу через init.php отловить ввод определенного купона в корзине.

Подскажите люди добрые, каким событиям ловить
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 1
Real_Fermer
@Real_Fermer
Программист PHP
Спарвка по данному событию. Оно происходит до окончания перерасчета стоимости корзины
https://dev.1c-bitrix.ru/api_d7/bitrix/sale/events...

/// проверка пользователей для применения купона WELCOME10

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale', 'OnBeforeSaleOrderFinalAction', 'chkCupon'
);

function chkCupon(Bitrix\Main\Event $event) {

$groupId = 10;
$couponName = 'WELCOME10';
$order = $event->getParameter("ENTITY");
$arOrderVals = $order->getFields()->getValues();

$orderId = $arOrderVals['ID'];
$userId = $order->getUserId();
$discountData = $order->getDiscount()->getApplyResult();

if (key($discountData['COUPON_LIST']) == $couponName) {
$arGroups = CUser::GetUserGroup($userId);
unset($arGroups[array_search($groupId, $arGroups)]);
CUser::SetUserGroup($userId, $arGroups);
}

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы