Как проверить, применяется ли правило цены корзины покупок к котировке
У меня настроено правило корзины покупок, которое применяет скидку, если у товара есть определенный атрибут - код купона отсутствует.
На всем сайте мне просто нужно проверить, применено ли это правило корзины покупок к предложению.
Я пробовал это:
$coupon_code = Mage::getSingleton('checkout/session')->getQuote()->getCouponCode();
Но это не работает; это работает только с кодами купонов, введенными пользователем.
Как бы я проверил, применялось ли такое правило корзины покупок?
6
1 answers
$appliedRuleIds = Mage::getSingleton('checkout/session')->getQuote()->getAppliedRuleIds();
Это даст вам идентификаторы правил, применяемых к цитате, разделенной запятой.
вы можете превратить их в массив следующим образом:
$appliedRuleIds = explode(',', $appliedRuleIds);
Если вы хотите, чтобы правила применялись в качестве объектов, вы можете сделать это:
//$rules = Mage::getModel('salesrule/rule')->getCollection()->addFieldToFilter('rule_id' => array('in' => $appliedRuleIds));
$rules = Mage::getModel('salesrule/rule')->getCollection()->addFieldToFilter('rule_id' , array('in' => $appliedRuleIds));
foreach ($rules as $rule) {
//do something with $rule
}
26
Author: Marius, 2015-04-03 07:24:04