Magento 2 ::如何将价格格式更改为印度价格格式?

时间:2019-04-23 10:33:16

标签: magento magento2

如何在Magento 2中将价格格式更改为印度价格格式

示例: 价格显示为453,453,想以印度方式显示,例如4,53,450

2 个答案:

答案 0 :(得分:0)

  1. 文件路径:vendor / magento / zendframework1 / library / Zend / Locale / Data / en.xml

  2. 在行号3353的currencyFormat部分下,并键入=“ standard”,将模式从<pattern>¤#,##0.00</pattern>更改为<pattern>¤ #,##,##0.00</pattern>

  3. 仍然,在PDP页面和购物车页面摘要中,价格格式不会更改,因为奖金格式来自js,其中Magento使用RegExp函数仅针对美国价格格式。 为此,请更改以下文件中的代码。

文件路径:vendor / magento / module-catalog / view / base / web / js / price-utils.js(首先在主题目录中扩展此文件,然后进行重要的更改。)

在此行下方的功能formatPrice下,注释相应功能中的所有行。

i = parseInt(
                amount = Number(Math.round(Math.abs(+amount || 0) + 'e+' + precision) + ('e-' + precision)),
                10
            ) + '';

并在上一行下面添加这组代码。

var x=i;
x=x.toString();
var afterPoint = '';
if(x.indexOf('.') > 0)
   afterPoint = x.substring(x.indexOf('.'),x.length);
x = Math.floor(x);
x=x.toString();
var lastThree = x.substring(x.length-3);
var otherNumbers = x.substring(0,x.length-3);
if(otherNumbers != '')
    lastThree = ',' + lastThree;
var response = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree + afterPoint;
return pattern.replace('%s', response);
  1. 部署和`rm -rf var / cache / *

  2. 完成

示例:以前显示的价格为453,453,现在将以印度方式显示为4,53,453。

答案 1 :(得分:0)

@satyavir,我建议您不要更改magento的核心文件,而是在模块中添加en.xml文件。

magento 2现在也支持INR,但是仍然需要修改,您可以按照上述步骤操作。