前不久接触过一个日本的案子,因为日本货币价格最小是1元,所以他们的商品价格是没有小数点的。但是整个购物网站是有3个语言版本,不可能在关键部分修改,这样会影响到其他版本的显示,下面分别是两个不同的实现方法。
方法一:在代码关键部分修改。
1.复制如下路径的文件 app/code/core/Mage/Directory/Model/Currency.php 到 app\code\local\Mage\Directory\Model\ 文件夹下面,这个文件夹没有自己手动创建下。
2.打开新复制的这个文件 Currency.php
找到如下代码
1
2
3
4
|
public
function
format(
$price
,
$options
=
array
(),
$includeContainer
= true,
$addBrackets
= false)
{
return
$this
->formatPrecision(
$price
, 2,
$options
,
$includeContainer
,
$addBrackets
);
}
|
修改为:
1
2
3
4
|
public
function
format(
$price
,
$options
=
array
(),
$includeContainer
= true,
$addBrackets
= false)
{
return
$this
->formatPrecision(
$price
, 0,
$options
,
$includeContainer
,
$addBrackets
);
}
|
其实就是将2改成了0。
3.刷新magento缓存,去前台页面看下,小数点应该去掉了。
C:\xampp\htdocs\magento\lib\Zend\Locale\Data\ja.xml
找到代码:
<currencyFormats>
<currencyFormatLength>
<currencyFormat>
<pattern>¤#,##0.00</pattern>
</currencyFormat>
</currencyFormatLength>
</currencyFormats>
修改成:<currencyFormats>
<currencyFormatLength>
<currencyFormat>
<pattern>¤#,##0</pattern>
</currencyFormat>
</currencyFormatLength>
</currencyFormats>
这样就完成了。