11

我必须检索与优惠券代码关联的规则,以便在报价中显示该规则的折扣百分比。最简单的方法是直接从报价金额计算,但我想直接检索规则,然后从中获取折扣百分比。

这是我尝试过的:

 $rule = Mage::getModel('salesrule/coupon');
 $rule->load($couponCode);

通过这种方式,我仍然没有检索到规则属性。有什么帮助吗?

谢谢。

4

3 回答 3

31

要通过代码加载优惠券,'code'请作为第二个参数传递给load(). 然后您可以通过使用rule_id您的优惠券实例的值来获取正确的规则实例:

$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
var_dump($oRule->getData());
于 2012-05-10T10:28:42.853 回答
3

首先获取优惠券代码

$orderNumber = 100000105; //order number with coupon code

$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);

$orderDetails = $order->getData();

$couponCode = $orderDetails['coupon_code'];

然后使用 Jürgen Thelen 的解决方案。

于 2013-12-09T08:11:02.943 回答
0

可能此解决方案将帮助您通过优惠券代码获取优惠券代码金额。

$couponCode = '的优惠券代码';

$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code');

$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());

print_r($oRule->getData());exit();

于 2017-05-31T05:15:30.043 回答