Есть код, который легко выводит скидки на товар
Не получается вывести скидку на сумму заказа, а она относится к правилам работы с корзиной.
Использовал OnGetDiscountByPrice и CCatalogDiscount::GetDiscountByPrice.
В начале вставлял CModule::IncludeModule('sale');
Вообще не получается. либо я получал в в логах null либо пустоту. Хотя в шаблоне корзины если посмотреть print_r($arResult), то в массиве есть скидка.
Может у кого есть рабочий вариант. Я хочу получить скидку на сумму и её сравнить со всеми скидками на товар, и оставить только самую бОльшую.
Скидку на товар и накопительную скидку выводит код выше. А скидку на сумму заказа из всех найденных в яндексе и гугле кодов, помощи и методов, я так и не смог собрать свой рабочий код.
Код |
---|
CModule::IncludeModule('catalog'); AddEventHandler("catalog", "OnGetDiscount", array("artDiscount", "OnGetDiscount")); AddEventHandler("catalog", "OnGetDiscountResult", array("artDiscount", "OnGetDiscountResult")); class artDiscount { static private $pId = false; public function OnGetDiscount($intProductID, $intIBlockID, $arCatalogGroups, $arUserGroups, $strRenewal, $siteID, $arDiscountCoupons, $boolSKU, $boolGetIDS){ self::$pId = $intProductID; return true; } public function OnGetDiscountResult(&$arResult){ $intProductID = self::$pId; $newAr = array(); foreach($arResult as $key=>$val){ if(strpos($val["NAME"],"#KMP#")===false || isset($_SESSION['KMP'][$intProductID]) || $_SESSION['KMPBASKET'][$intProductID]) { $newAr[] = $val; } } $arResult = $newAr; } } |
Использовал OnGetDiscountByPrice и CCatalogDiscount::GetDiscountByPrice.
В начале вставлял CModule::IncludeModule('sale');
Вообще не получается. либо я получал в в логах null либо пустоту. Хотя в шаблоне корзины если посмотреть print_r($arResult), то в массиве есть скидка.
Может у кого есть рабочий вариант. Я хочу получить скидку на сумму и её сравнить со всеми скидками на товар, и оставить только самую бОльшую.
Скидку на товар и накопительную скидку выводит код выше. А скидку на сумму заказа из всех найденных в яндексе и гугле кодов, помощи и методов, я так и не смог собрать свой рабочий код.