Выводим цены во всех валютах в карточке товара

0
Администраторы
0
Администратор
admin
16:08, 02.07.2012
Некоторым администраторам магазинов нужно сделать, чтобы в карточке товара была показана цена не только в одной валюте например в рублях, но и в других валютах, например в долларах и евро. Как это сделать читаем ниже.
1. Устанавливаем валюту рубль по умолчанию.
2. Открываем файл:
catalog\view\theme\default\template\product\product.tpl
Находим в нем такие строчки:
php code:
  1. <?php if (!$special) { ?>
  2. <?php echo $price; ?>

Ниже этих двух строк добавляем следующую строчку:
php code:
  1. <span>&nbsp;<?php echo $text_or; ?>&nbsp;</span><span id="price_usd"><?php echo $price_usd; ?></span><span>&nbsp;<?php echo $text_or; ?>&nbsp;</span><span id="price_euro"><?php echo $price_euro; ?></span>

3. Открываем файл:
catalog\controller\product\product.php
Находим в нем строку:
php code:
  1. $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

Ниже добавляем следующие строки:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

После этих действий, если все правильно сделаете, у вас будут показаны цены товара в рублях, долларах и евро, но только в тех товарах, для которых не назначены специальные цены (акции). По аналогии можно сделать вывод цены и в других валютах.
Аккаунт удален
Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?
Администраторы
0
Администратор

kriptograff (02.07.2012, 19:14) писал:Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?


Назначайте валюту по умолчанию гривны и в строках:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

Измените код RUB на код валюты гривны.
Посетители
0
igorok14
00:38, 03.07.2012
А как вывести тоже самое в категориях товаров. Спасибо
Посетители
0
Новичок

admin (02.07.2012, 19:32) писал:

kriptograff (02.07.2012, 19:14) писал:Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?


Назначайте валюту по умолчанию гривны и в строках:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

Измените код RUB на код валюты гривны.



это в каком файле менять?
Посетители
0
Новичок

admin (02.07.2012, 19:32) писал:

kriptograff (02.07.2012, 19:14) писал:Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?


Назначайте валюту по умолчанию гривны и в строках:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

Измените код RUB на код валюты гривны.


где назначается валюта по умолчанию Гривны?
установил сборку MaxyStore, в админской панели меню Настройка-Локализации-Валюта нет гривны, как добавить?
Посетители
0
Новичок
fastiman
21:22, 26.07.2012

fastiman (24.07.2012, 14:32) писал:

admin (02.07.2012, 19:32) писал:

kriptograff (02.07.2012, 19:14) писал:Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?


Назначайте валюту по умолчанию гривны и в строках:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

Измените код RUB на код валюты гривны.



это в каком файле менять?



отвечаю сам:
1) добавляем валюту: Система-Локализация-Валюты, добавляем код гривны "UAH", статус "Включено"



2) Выставляем валюту по умолчанию "Гривна":
Система - Настройки - напротив магазина кликаем "изменить", на Вкладке "Локализация" выбираем валюту.
Посетители
0
Новичок
А кто подскажет, как сделать чтобы можно было добавлять в разных валютах товар? То есть у меня товар в трех разных валютах приходит и если я конвертирую цену по нынешнему курсу, а потом курс изменится цена будет не правильна.
Посетители
0
Новичок
mr_denisters
13:13, 14.10.2015
admin (02.07.2012, 22:32) писал:
kriptograff (02.07.2012, 19:14) писал:Спасибо! долго искал, очень нужная вещь!
только один вопрос, - как сделать, если нужно чтоб валюта по умолчанию была например - гривна ?

Назначайте валюту по умолчанию гривны и в строках:
php code:
  1. $this->data['price_usd'] = "$ ".round($this->currency->convert($product_info['price'], 'RUB', 'USD'), '2')."";
  2. $this->data['price_euro'] = "&euro; ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2')."";

Измените код RUB на код валюты гривны.

Все работает, но цена в евро подсчитана не верно точнее как выяснилось запятая не там Скрин
В контроллере прописано:
php code:
  1. $this->data['price_euro'] = "€ ".round($this->currency->convert($product_info['price'], 'UAH', 'EUR'), '2')."";

Подскажите что подправить кто знает?
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.