我必须将美元保留为基础货币才能启用 PayPal,但我将默认显示货币保留为 INR。现在每美元 45 卢比的兑换率给了我令人讨厌的十进制 INR 价格,我想摆脱它,Magento 必须使用某种函数将价格从基础货币转换为 INR,同时到处显示 INR 价格,这个函数是什么以及我怎样才能修改它以始终给出舍入值?
我发现:
$price = Mage::helper('directory')->currencyConvert($tax->getPrice($product, $product->getFinalPrice(), false), $fromCur, $toCur);
这是 Magento 本身用于转换不同货币价格的函数吗?如果它是在其中定义的?
最佳答案
货币转换由Mage_Directory_Model_Currency
按以下方法执行。
public function convert($price, $toCurrency=null)
{
if (is_null($toCurrency)) {
return $price;
}
elseif ($rate = $this->getRate($toCurrency)) {
return $price*$rate;
}
throw new Exception(Mage::helper('directory')->__('Undefined rate from "%s-%s".', $this->getCode(), $toCurrency->getCode()));
}
您可以创建此文件的 app/code/local
版本,或者编写自己的模块并重写核心。
请确保在您的开发服务器和 Paypal 沙箱中非常仔细测试此内容,因为 Paypal 将拒绝任何有错误的交易!
关于php - Magento 四舍五入货币转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279022/