2

我正在使用 magento 1.4.1.1 并尝试使用朋友(Daniel Sloof)的线索 [http://stackoverflow.com/questions/9411971/round-special-price-only-in-magento] 没有工作。在恢复 bkp 之前。

我正在使用组合产品,需要为所有组客户申请四舍五入的折扣价,批发:30%,批发:40%,批发:50%

我尝试使用:app/code/core/Mage/Core/Model/Store.php

public function roundPrice($price)  
{
return round((ceil($price*10)/10), 2);
}

问题出在购物车中,这个四舍五入小计,它不能。或者更简单的方法(正确)来做到这一点?

4

1 回答 1

0

roundPrice 方法用于向用户显示价格的大多数地方,因此这肯定会改变网站上显示的其他价格。

您可以尝试覆盖产品模型中的 getSpecialPrice 方法。这可以通过将 app/code/core/Mage/Catalog/Model/Product.php 复制到 app/code/local/Mage/Catalog/Model/Product.php 并在那里修改来完成。

/**
 * Returns special price
 *
 * @return float
 */
public function getSpecialPrice()
{
    return $this->_getData('special_price');
}

改成:

/**
 * Returns special price
 *
 * @return float
 */
public function getSpecialPrice()
{
    return round((ceil($this->_getData('special_price')*10)/10), 2);
}

我没有对此进行测试,它很可能会导致问题,如果不进一步查看,我不确定,可能有一些地方 Magento 在不使用这种方法的情况下以另一种方式获得特价,所以你必须自己测试:)

于 2012-11-27T09:38:41.750 回答