Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

2 валюты + курс = ерунда какая-то

Господа.
Нужен вывод стоимости товара в двух валютах.
Было проделанно:

Если у нас в магазине основная валюты рубль (код валюты RUR) и есть вторая валюта, доллар США (код валюты USD), мы хотим цены на товары выводить сразу в двух валютах, например так 32 руб. (1$).

Как это сделать.

1. Открываем файл includes/classes/product.php
Ищем:
  function buildDataArray(&$array,$image='thumbnail') {
      global $osPrice,$main;

        $tax_rate = $osPrice->TAX];

Добавляем после:
        $osPriceUSD = new osPrice('USD', $_SESSION['customers_status']['customers_status_id']);
        $products_price_USD = $osPriceUSD->GetPrice($array['products_id'], $format = true, 1, $tax_rate, $array['products_price'], 1);     

Учтите, что в данном примере я указываю код валюты USD, если у Вас другая валюта, указывайте свой код.
Заменяем:
Цитировать

    'PRODUCTS_PRICE' => $products_price['formated'],



на:
Цитировать

    'PRODUCTS_PRICE' => $products_price['formated'] . ' (' . $products_price_USD['formated'] . ') ',




Всё, теперь цены в боксах новинки, рекомендыемые, на страницах списка товаров, на страницах новинки, рекомендуемые и т.д. будут в виде 32 руб. (1$).

Чтобы сделать на странице карточки товара вывод сразу в двух валютах, открывайте файл includes/modules/product_info.php
заменяем:
Цитировать

    $info->assign('PRODUCTS_PRICE', $products_price['formated']);


на:
Цитировать

    $osPriceUSD = new osPrice('USD', $_SESSION['customers_status']['customers_status_id']);
    $products_price_USD = $osPriceUSD->GetPrice($product->data['products_id'], $format = true, 1, $product->data['products_tax_class_id'], $product->data['products_price'], 1);     
    $info->assign('PRODUCTS_PRICE', $products_price['formated'] . ' (' . $products_price_USD['formated'] . ') ');

Все вроде класно но...
вот немогу понять как при стоимости товара 25990 грн. при курсе доллара 7,85 система рассчитала долларовую стоимость порядка 779000 баксов?

В настройках валюты гривна прописанна 1,00000000 и доллар соответственно 0,12700000 в примере система отображает все верно 30 грн это 3,72 доллара
так что она мне выводит во фронте?

Кто сталкивался и каковы методы решения?


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

у когнить есть решение? версия 2.5.2


там по умолчанию курсы кривые

курсы валют просто нужно обновить


Странно сделал всё тоже самое, как в первом посте, а вторая валюты не отображается, просто скобки пустые появились и всё...


Источник



Copyright ShopOS