Есть код, который легко выводит скидки на товар
Не получается вывести скидку на сумму заказа, а она относится к правилам работы с корзиной.
Использовал 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), то в массиве есть скидка.
Может у кого есть рабочий вариант. Я хочу получить скидку на сумму и её сравнить со всеми скидками на товар, и оставить только самую бОльшую.
Скидку на товар и накопительную скидку выводит код выше. А скидку на сумму заказа из всех найденных в яндексе и гугле кодов, помощи и методов, я так и не смог собрать свой рабочий код.