Magento在购物车中显示多个折扣

Mat*_*att 6 magento magento-1.7

我目前正在寻找一种在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

任何帮助,将不胜感激.我不喜欢在没有代码的情况下发布问题,但我不知道从哪里开始.提前致谢.

Dee*_*ngh 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;
Run Code Online (Sandbox Code Playgroud)

最后,在 foreach 末尾放置此代码

$address->setDiscountDescriptionArray($_descriptionArray);
Run Code Online (Sandbox Code Playgroud)