Путь к файлу: vendor / magento / zendframework1 / library / Zend / Locale / Data / en.xml
В строке с номером 3353 в разделе currencyFormat и type = "standard" измените шаблон с <pattern>¤#,##0.00</pattern>
на <pattern>¤ #,##,##0.00</pattern>
Тем не менее, на странице 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);
deploy и `rm -rf var / cache / *
Выполнено
Пример: цена, ранее отображавшаяся как 453 453, теперь будет отображаться в индийской манере как 4,53 453.