我将在magento和解决方案中写一个常见的问题,最适合我。
我一直在网上搜索并反映magento代码几个小时,以找到上述问题的解决方案。我希望匈牙利的价格格式为1 000 Ft
,而不是1 000,00 Ft
我已将值'precision'
替换为0,但未成功。
这是我探查的列表:
app / code / core / Mage / Core / Model / Store.php
function formatPrice(){ $option = array('precison' => 2 ); ... }
app / code / core / Mage / Directory / Model / Currency.php
function format() {
$this->formatPrecision($price, 0, $options, $includeContainer, $addBrackets);
}
在反映代码后,我意识到这一切都没有关系,因为数字格式信息是基于 Zend核心API 提供的 locale 信息。
所以这是我找到的解决方案,希望价格格式化将成为整个应用程序的标准。
您可以在 lib / Zend / Locale / Data / 中找到 YY.xml 文件,其中 YY 是您的国家/地区代码。我的是 hu.xml
你找到了这个部分:
<currencyFormats>
<currencyFormatLength>
<currencyFormat>
<pattern>#,##0 ¤</pattern>
</currencyFormat>
</currencyFormatLength>
<unitPattern count="other">{0} {1}</unitPattern>
</currencyFormats>
关于格式字符串,您可以在http://framework.zend.com/manual/en/zend.locale.parsing.html
找到一个完全没用的有用信息答案 0 :(得分:-2)
将“app / code / core / Mage / Directory / Model / Currency.php”复制到“app / code / local / Mage / Directory / Model / Currency.php”并替换格式化功能。
public function format($price, $options=array(), $includeContainer = true, $addBrackets = false)
{
return str_replace(',00', '', $this->formatPrecision($price, 2, $options, $includeContainer, $addBrackets));
}