更改Magento十进制字段格式
我需要更改Magento的默认十进制格式。我的意思是,当我将“1”保存到一个十进制字段中时,它会变成“10000.0000”,最后是“.0000” 我需要将其更改为另一种格式,使用“,”而不是“.”来分隔十进制(和货币)数字 这是巴西标准,即使在更改商店语言后也不会使用。这种变化应该主要反映在管理方面 非常感谢 ==编辑== 我还没有解决这个问题。我使用PT-BR(巴西葡萄牙语)作为默认语言,但它仍然使用了错误的十进制字符。 似乎Magento在一些代码点中有一些未本地化的价格格式(我的意思是硬编码)。例如:更改Magento十进制字段格式,magento,zend-framework,localization,internationalization,magento-1.7,Magento,Zend Framework,Localization,Internationalization,Magento 1.7,我需要更改Magento的默认十进制格式。我的意思是,当我将“1”保存到一个十进制字段中时,它会变成“10000.0000”,最后是“.0000” 我需要将其更改为另一种格式,使用“,”而不是“.”来分隔十进制(和货币)数字 这是巴西标准,即使在更改商店语言后也不会使用。这种变化应该主要反映在管理方面 非常感谢 ==编辑== 我还没有解决这个问题。我使用PT-BR(巴西葡萄牙语)作为默认语言,但它仍然使用了错误的十进制字符。 似乎Magento在一些代码点中有一些未本地化的价格格式(我的意思是硬
magento\js\prototype\validation.js
第426行有:
|| (!isNaN(parseNumber(v)) && /^\s*-?\d*(\,\d*)?\s*$/.test(v));
但事实上,我们需要这样做
|| (!isNaN(parseNumber(v)) && /^\s*-?\d*(\,\d*)?\s*$/.test(v));
适合PT-BR格式(或其他地区)
我说得对吗?是否有人可以解决此问题?如果您想在管理区检查此更改 您可以在“管理”左下角下拉列表中转到 选择
Português (Portugal) / português (Portugal)
它将显示您想要的货币。如果您没有安装软件包,请转到
下载您的软件包并将其添加到您的
locale文件夹,并从前端配置中选择
希望这一定会对您有所帮助。我已将以下更改应用于文件
magento\js\prototype\validation.js(第426行)
:
此外,还通过添加第一条if语句更改了文件lib/Varien/Data/Form/Element/Abstract.php
:
public function getEscapedValue($index=null)
{
$value = $this->getValue($index);
if(is_numeric($value)){
$value= number_format($value, 3, ",", ".");
}
...
到目前为止,这些变化已经解决了这个问题。你看到什么副作用了吗
欢迎评论!谢谢 较新版本的Magento基于Zend Framework货币区域设置格式,因此最好的方法是从Zend目录中更改language.xml,更多信息请参见。如我所述,此Magento实例中已经安装了巴西葡萄牙语,但这还不够。价格另一个十进制字段必须是“x.abc”,而不是“x,abc”-谢谢您的帮助,还有其他提示吗?:)我刚刚检查了我的本地设置,它正在为我工作。我可以添加屏幕截图吗?请清理您的缓存。或者试试这个解决方案
public function getEscapedValue($index=null)
{
$value = $this->getValue($index);
if(is_numeric($value)){
$value= number_format($value, 3, ",", ".");
}
...