6

我目前正在寻找一种无需购买扩展程序即可在 Magento 购物车中显示多个折扣的方法。如果客户购买的订单超过 50 美元,则免运费,如果他们使用优惠券代码“rush13”,则可获得 10% 的折扣。运费和折扣都计算正确,但它们显示在一行上。有没有办法显示分解的折扣?我觉得这会让客户更容易看到他们从每个折扣中收到了多少。

我正在使用 Magento 1.7

--当前显示--

小计:$xxx.xx

折扣(免费送货,应用优惠券代码 RUSH13)-$xx.xx

--首选显示--

小计:$xxx.xx

折扣(免费送货)-$xx.xx

折扣(优惠券代码 RUSH13)-$xx.xx

--这也可以工作--

小计:$xxx.xx

折扣(免费送货 -$xx.xx,优惠券代码 RUSH13 -$xx.xx)-$xx.xx

任何帮助,将不胜感激。我不喜欢在这里发布没有代码的问题,但我不确定从哪里开始。提前致谢。

4

1 回答 1

2

Mage_SalesRule_Model_Validator负责折扣计算。所以我们可以从这个循环计算中设置我们的折扣描述。

在方法中

public function process(Mage_Sales_Model_Quote_Item_Abstract $item)

寻找代码

$discountAmount = $result->getDiscountAmount();

并将这两行放在上面的代码之后,这将在当前的 foreach 循环中准备我们的描述数组

$_formatedDiscountAmount = Mage::helper('core')->currency($discountAmount, true, false);
$_descriptionArray[] = $rule->getName()."-".$_formatedDiscountAmount;

最后,在 foreach 结束后放置此代码

$address->setDiscountDescriptionArray($_descriptionArray);
于 2013-12-06T21:26:20.953 回答