+7 (843) 212-62-17 - Казань
+7 (843) 212-62-17 - Казань

Событие для возможности изменения начисляемых по заказу бонусов

Событие для возможности изменения начисляемых по заказу бонусов.
Событие позволяет вклиниться в расчет бонусов, которые будут начислены за заказ, и изменить начисляемую сумму.
Срабатывает после расчета бонусов, исходя из настроек модуля:
- на странице корзины
- на странице оформления заказа
- при начислении бонусов по заказу

Пример события, при котором от суммы товаров в заказе начисляются дополнительные бонусы (код вставлять в init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler("logictim.balls", "AfterCalculateOrderBonus", "Test");
function Test(\Bitrix\Main\Event $event)
{
$arBonus = $event->getParameters();
//echo '<pre>'; print_r($arBonus); echo '</pre>';
if($arBonus["ORDER_INFO"]["CART_SUM"] >= 1500 && $arBonus["ORDER_INFO"]["CART_SUM"] < 3000)
$arBonus["ALL_BONUS"] = $arBonus["ALL_BONUS"] + 150;
elseif($arBonus["ORDER_INFO"]["CART_SUM"] >= 3000 && $arBonus["ORDER_INFO"]["CART_SUM"] < 7000)
$arBonus["ALL_BONUS"] = $arBonus["ALL_BONUS"] + 300;
elseif($arBonus["ORDER_INFO"]["CART_SUM"] >= 7000 && $arBonus["ORDER_INFO"]["CART_SUM"] < 15000)
$arBonus["ALL_BONUS"] = $arBonus["ALL_BONUS"] + 700;
elseif($arBonus["ORDER_INFO"]["CART_SUM"] >= 15000)
$arBonus["ALL_BONUS"] = $arBonus["ALL_BONUS"] + 1500;

$result = new Bitrix\Main\EventResult($event->getEventType(), $arBonus);
return $result;

}

В приведенном примере, к сумме бонусов, начисляемых по заказу, прибавляется дополнительный бонус в зависимости от суммы корзины.
Имеющиеся параметры можно посмотреть, выведя массив $arBonus. В указанном массиве все интуитивно понятно.
Если требуются дополнительные параметры, сообщайте в тех поддержку, добавим при наличии технической возможности.


Возврат к списку