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

Событие до расчета бонусов за все товары

Событие позволяет повлиять на параметры для расчета бонусов.

Пример события (код вставлять в init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler("logictim.balls", "BeforeGetBonusList", "Test");
function Test(\Bitrix\Main\Event $event)
{
	
	$arBonus = $event->getParameters();
	
	//echo '<pre>'; print_r($arBonus); echo '</pre>';
	
        //Переопределим параметры
	$arBonus["BONUS_PROP"] = 'LOGICTIM_BONUS_BALLS_2'; //Код свойства товара, откуда берутся бонусы
	$arBonus["BONUS_CAT_PROP"] = 'UF_LOGICTIM_BONUS_2'; //Код свойства раздела, откуда берутся бонусы
	$arBonus["MODULE_PARAMS"]["BONUS_ALL_PRODUCTS"] = 15; //"Начислять на все товары" из настроек модуля
	
	$result = new Bitrix\Main\EventResult($event->getEventType(), $arBonus);
    return $result;
	
}

Пример изменения бонусов в зависимости от группы пользователя
\Bitrix\Main\EventManager::getInstance()->addEventHandler("logictim.balls", "BeforeGetBonusList", "Test");
function Test(\Bitrix\Main\Event $event)
{
	
	$arBonus = $event->getParameters();
	
	//Изменим расчет бонусов в зависмости от группы пользователя
	$userGroups = CUser::GetUserGroup($arBonus["USER_ID"]);
	
	//Если пользователь относится к группе с id = 1
	if(in_array(1, $userGroups))
	{
		//Изменим значение "Начислять на все товары" из настроек модуля
		$arBonus["MODULE_PARAMS"]["BONUS_ALL_PRODUCTS"] = 15;
		
		//Берем бонусы за товар из свойства товаров с кодом LOGICTIM_BONUS_BALLS_2
		$arBonus["BONUS_PROP"] = 'LOGICTIM_BONUS_BALLS_2'; //Код свойства товара, откуда берутся бонусы
		
		//Берем бонусы за категорию из свойства UF_LOGICTIM_BONUS_2
		$arBonus["BONUS_CAT_PROP"] = 'UF_LOGICTIM_BONUS_2'; //Код свойства раздела, откуда берутся бонусы
	}
	
	
	$result = new Bitrix\Main\EventResult($event->getEventType(), $arBonus);
    return $result;
	
}



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