【问题标题】:How to get Coupon Discount Amount by Coupon code?如何通过优惠券代码获取优惠券折扣金额?
【发布时间】:2017-05-31 00:22:54
【问题描述】:

我使用以下代码检索当前订单的优惠券代码:

$Coupon_Code = $order->getCouponCode();

效果很好,但我想使用此代码获取某个优惠券代码的折扣金额:

$Coupon_Code = $order->getCouponCode();
            
$oCoupon = Mage::getModel('salesrule/coupon')->load($Coupon_Code, 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
var_dump($oRule->getData());
$Coupon_Discount =$Coupon_Code['Discount Amount'];
        

【问题讨论】:

  • 您是否尝试在 Google 上搜索 getCouponCode()?我在freegento.com/doc/d0/d40/_validator_8php-source.html 找到了可以满足您需求的代码
  • @Enigmativity 我是 magento 新手,我很难检查链接代码
  • 您是说无法点击链接,还是说您无法阅读代码以找到折扣金额的来源?
  • 实际上我检查了代码但我无法得到我需要的我使用这行代码:$Coupon_Discount=Mage::getModel('sales/order')->load($order); $Coupon_Discount->getDiscountAmount();
  • 您希望该行给您优惠券的折扣金额还是适用于特定订单的折扣?

标签: php magento


【解决方案1】:

您可以通过以下方式获取某个优惠券代码的折扣金额:

$couponCode = '**YOUR COUPONCODE**';
$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
print_r($oRule->getData());exit();

在回复中,您可以获得有关 COUPONCODE 的所有详细信息。

【讨论】:

  • 优惠券金额返回空:$oCoupon = Mage::getModel('salesrule/coupon')->load($Coupon_Code, 'code'); $oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId()); $Coupon_Number=$oRule->getData('discount_amount'); echo "$Coupon_Numbe";退出();
  • 谢谢!您能否检查您的 $Coupon_Code 变量是否包含 Value 或 NULL,如果是(Value),请检查管理员中的优惠券代码是否存在且处于活动状态?
【解决方案2】:

参考以下代码获取订单折扣金额:

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

$couponCode = $orderDetails['coupon_code'];
$discountAmt = $orderDetails['discount_amount'];

【讨论】:

  • 谢谢,但我想通过优惠券代码获取优惠券金额,这是我获取优惠券代码的工作:$Coupon_Code = $order->getCouponCode();
  • 好的,你能详细解释一下,以便我做研究。是优惠券金额还是折扣金额?
猜你喜欢
  • 2012-12-27
  • 2015-09-08
  • 1970-01-01
  • 2014-01-09
  • 2020-11-04
  • 1970-01-01
  • 2021-05-27
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多