Формат цены Magento 2 неверен в индийских рупиях? - PullRequest
0 голосов
/ 15 мая 2018

Я использую Magento 2.2.3, моя валюта по умолчанию - INR, но она отображается в неверном формате. enter image description here

enter image description here

Но это должно быть correct 77,65,000.00, как мы корректируем формат цены, в настоящее время он выглядит как USD

Я пробовал много способов, но я не могу решить эту проблему, пожалуйста, помогите решить эту проблему

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019
  1. Путь к файлу: vendor / magento / zendframework1 / library / Zend / Locale / Data / en.xml

  2. В строке с номером 3353 в разделе currencyFormat и type = "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. deploy и `rm -rf var / cache / *

  2. Выполнено

Пример: цена, ранее отображавшаяся как 453 453, теперь будет отображаться в индийской манере как 4,53 453.

0 голосов
/ 15 мая 2018

Вы можете установить формат валюты с помощью следующего кода.

<?php
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // Instance of Object Manager
    $priceHelper = $objectManager->create('Magento\Framework\Pricing\Helper\Data'); // Instance of Pricing Helper
    $price =  1000; //Your Price
    $formattedPrice = $priceHelper->currency($price, true, false);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...