我必须检索与优惠券代码相关联的规则,以便在报价中显示该规则的折扣百分比。 最简单的方法是直接从报价金额计算,但我想直接检索规则,然后从中获得折扣百分比。
这是我试过的:
$rule = Mage::getModel('salesrule/coupon');
$rule->load($couponCode);
通过这种方式,我仍然没有检索规则属性。有什么帮助吗?
感谢。
答案 0 :(得分:30)
要按代码加载优惠券,请将'code'
作为第二个参数传递给load()
。然后,您可以使用优惠券实例的rule_id
值来获取正确的规则实例:
$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
var_dump($oRule->getData());
答案 1 :(得分:3)
首先获取优惠券代码
$orderNumber = 100000105; //order number with coupon code
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
$orderDetails = $order->getData();
$couponCode = $orderDetails['coupon_code'];
然后使用JürgenThelen的解决方案。
答案 2 :(得分:0)
可能此解决方案将帮助您通过优惠券代码获得优惠券金额。
$ couponCode =' 您的COUPONCODE ';
$ oCoupon = Mage :: getModel(' salesrule / coupon') - > load($ couponCode,' code');
$ oRule = Mage :: getModel(' salesrule / rule') - > load($ oCoupon-> getRuleId());
的print_r($ oRule->的getData());出口();