Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Отображение стоимости товара в двух валютах
Господа. Нужен вывод стоимости товара в двух валютах. Было проделанно:
Цитировать
Если у нас в магазине основная валюты рубль (код валюты 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 доллара так что она мне выводит во фронте?
Кто сталкивался и каковы методы решения?
Только что столкнулся. Надо выключить в админке (настройки - основные - кэш) функцию "Cache Pro" и все будет отображать правильно ;)
Кстати у меня на сайте можно посмотреть как работает, сайт в подписи :)
кстати еще кое что дотестил :D надо вообще кеш выключить... и если так подумать то человек который захочет купить товар он подождет пол секунды больше без включенного кеша:-)
Только что столкнулся. Надо выключить в админке (настройки - основные - кэш) функцию "Cache Pro" и все будет отображать правильно ;)
тогда кол. запросов к бд увеличивается
оно то да, но приходится чем то жертвовать что бы отображалось в 2-х валютах...
Вот похожая тема для моего вопроса. Товарищи. подскажите что где дописать/заменить. Проблема в следующем. Нужно чтобы отображалось не две валюты, а только вторая. тоесть по умолчанию в админке стоит USD. все цены в USD. А на страницых магазина хочу чтобы цены выводились в Рублях. Подскажите как это можно сделать. Очень нужно.
Похоже, стандартными средствами этот довольно типовой вопрос не решается.
Источник
|