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