我正在使用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);
}
问题出现在购物车中,这使得SUBTOTAL四舍五入,它不能。 还是更容易(正确)这样做?
答案 0 :(得分: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以另一种方式获得特价而不使用这种方法所以你会有为自己测试一下:)