我目前正在寻找一种在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
任何帮助将不胜感激。我不喜欢在没有代码的情况下发布问题,但我不知道从哪里开始。提前谢谢。
答案 0 :(得分: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);