Округление значения в валюте через shop_currency_html Есть решение

Всем добрый день!

На сайте вывожу две цены товара: в рублях(основная валюта магазина) и долларах. Чтобы вывести цену в долларах использую:

{shop_currency_html($product_price, "RUR", "USD")}

Но на выходе получаю дробные значения вида: $9 250,77

Задача избавиться от цифр после запятой.

Залез в shopConfig.class.php чтобы посмотреть есть ли у этой функции еще дополнительный параметр для округления, нашел следующее:

shop_currency($n, $in_currency, $out_currency, $format)

Есть некий format, но какие я только значения не присваивал ему - особой разницы нет. Выручайте!

P.S. в настройках валют стоит округление до 100

2 ответа

  • 2
    replicant 31 октября 2019 21:23 # Решение

    Примерный рецепт. Возможно найдутся и ещё какие-то способы. Суть моего примерно такова.

    Создаем файл currency.php в /wa-config/ с содержимым

    <?php
    
    return array(
        'USD' => array(
            'precision' => 0,
        ),
    );

    В настройках валют переключаем доллары на режим "не округлять" (он станет доступен после создания файла и возможно для этого надо очистить кеш)

    Затем в шаблоне сделал несколько наглядных конструкций типа вашей, чтобы видеть код и результат

    Собственно сделал два разных рублевых вывода и один в долларах на второй строке. Вместо точных $24.21 получаем 24


    Немного поиграл с ценой, чтобы прикинуть изменения. Вроде норм.



Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите