Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

отображение двух валют в opencart


Recommended Posts

как вывести 2 валюты на opencart 1.4.7?

Пример :

Цена 100 грн (20 $)

Буду очень благодарен за помощь так как магазин надо перевести частично под доллар но расчет держать в гривнах , плюс сделать возможным отображение двух валют сразу .

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

тоже на 1.4.7

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

как вывести 2 валюты на opencart 1.4.7?

Пример :

Цена 100 грн (20 $)

пожалуйста поделитесь решениям если такое есть как сделать отображение двух валют сразу? спасибо

Надіслати
Поділитися на інших сайтах


пожалуйста поделитесь решениям если такое есть как сделать отображение двух валют сразу? спасибо

$this->currency->convert($value, $from, $to);
$value - число (цена) которую надо перевести

$from - из какой валюты (код, например RUB). Текущий можно узнать функцией $this->currency->getCode();

$to - в какую валюту перевести (тоже код, например USD)

Коды указываются в админке в редактировании валют.

ну а дальше вписывайте все это в нужный контроллер и выводите в нужный файл шаблона.

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

$this->currency->convert($value, $from, $to);
$value - число (цена) которую надо перевести

$from - из какой валюты (код, например RUB). Текущий можно узнать функцией $this->currency->getCode();

$to - в какую валюту перевести (тоже код, например USD)

Коды указываются в админке в редактировании валют.

ну а дальше вписывайте все это в нужный контроллер и выводите в нужный файл шаблона.

что-то пробовал писать и в файле контролера product.php и в файле шаблона product.tpl но оно еще и выдает ошибку в файле system/llibrary/currency.php в 114 строке
Надіслати
Поділитися на інших сайтах


  • 4 weeks later...
  • 2 weeks later...

Присоединюсь, так и не понял что именно делать.

Знаю что Vetal решил данный вопрос, но он не отвечает.

Спасибо.

UPD

Нашел ув.Vetal на другом форуме.

Благодаря ему проблема решилась.

Вся работа выполнена ув.Vetal , я только копипастю.

Открываем ..catalog/controller/product/product.php

после

$discount = $this->model_catalog_product->getProductDiscount($this->request->get['product_id']);
вставляем

$this->data['price_'] = $this->currency->convert($product_info['price'], 'USD', 'UAN');
Лучше конвертить с Доллара, поскольку выйдет целое число.

Потом

$this->data['products'][] = array(
               'product_id'    => $result['product_id'],
               'name'          => $result['name'],
               'model'         => $result['model'],
               'rating'        => $rating,
               'stars'         => sprintf($this->language->get('text_stars'), $rating),
               'price'         => $price,
...

Вставил ниже

'price_'        => $price_ ,

Теперь выводим в шаблоне

catalog/view/theme/ваш шаблон по замовчуванню/template/product/product.tpl

Находим

<tr>
                <td><b><?php echo $text_price; ?></b></td>
                <td><?php if (!$special) { ?>
<b><span style="color:#f79613 ; font-size: 16px; font-weight: 700; "> <?php echo $price; ?></span>

Вставляем после

<span style="color:#999999 ; font-size: 13px; font-weight: 700; "> /<?php echo $price_; ?>  грн.</span>  </b>
Главное не нахимичить с кодировкой.

Как подчеркнул Автор, этот вариант не есть выход из ситуации, и подходит для Детального описания товара.

---------------------------------------------------------------------------------------------------------

Отсебятина.

Если конвертим не с Доллара, конечное число нужно округлить:

<?php echo (round($price_)); ?>

УПД

font-weight: 700, нужно убрать, тк. данный параметр "ломает" шаблон в ИЕ

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 5 months later...

Присоединюсь, так и не понял что именно делать.

Знаю что Vetal решил данный вопрос, но он не отвечает.

Спасибо.

UPD

Нашел ув.Vetal на другом форуме.

Благодаря ему проблема решилась.

Вся работа выполнена ув.Vetal , я только копипастю.

Открываем ..catalog/controller/product/product.php

после

$discount = $this->model_catalog_product->getProductDiscount($this->request->get['product_id']);
вставляем

$this->data['price_'] = $this->currency->convert($product_info['price'], 'USD', 'UAN');
Лучше конвертить с Доллара, поскольку выйдет целое число.

Потом

$this->data['products'][] = array(
               'product_id'    => $result['product_id'],
               'name'          => $result['name'],
               'model'         => $result['model'],
               'rating'        => $rating,
               'stars'         => sprintf($this->language->get('text_stars'), $rating),
               'price'         => $price,
...

Вставил ниже

'price_'        => $price_ ,

Теперь выводим в шаблоне

catalog/view/theme/ваш шаблон по замовчуванню/template/product/product.tpl

Находим

<tr>
                <td><b><?php echo $text_price; ?></b></td>
                <td><?php if (!$special) { ?>
<b><span style="color:#f79613 ; font-size: 16px; font-weight: 700; "> <?php echo $price; ?></span>

Вставляем после

<span style="color:#999999 ; font-size: 13px; font-weight: 700; "> /<?php echo $price_; ?>  грн.</span>  </b>
Главное не нахимичить с кодировкой.

Как подчеркнул Автор, этот вариант не есть выход из ситуации, и подходит для Детального описания товара.

---------------------------------------------------------------------------------------------------------

Отсебятина.

Если конвертим не с Доллара, конечное число нужно округлить:

<?php echo (round($price_)); ?>

УПД

font-weight: 700, нужно убрать, тк. данный параметр "ломает" шаблон в ИЕ

Изображение

что я делаю не так ?

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Присоединюсь, так и не понял что именно делать.

Знаю что Vetal решил данный вопрос, но он не отвечает.

Спасибо.

UPD

Нашел ув.Vetal на другом форуме.

Благодаря ему проблема решилась.

Вся работа выполнена ув.Vetal , я только копипастю.

Открываем ..catalog/controller/product/product.php

после

$discount = $this->model_catalog_product->getProductDiscount($this->request->get['product_id']);
вставляем

$this->data['price_'] = $this->currency->convert($product_info['price'], 'USD', 'UAN');
Лучше конвертить с Доллара, поскольку выйдет целое число.

Потом

$this->data['products'][] = array(
               'product_id'    => $result['product_id'],
               'name'          => $result['name'],
               'model'         => $result['model'],
               'rating'        => $rating,
               'stars'         => sprintf($this->language->get('text_stars'), $rating),
               'price'         => $price,
...

Вставил ниже

'price_'        => $price_ ,

Теперь выводим в шаблоне

catalog/view/theme/ваш шаблон по замовчуванню/template/product/product.tpl

Находим

<tr>
                <td><b><?php echo $text_price; ?></b></td>
                <td><?php if (!$special) { ?>
<b><span style="color:#f79613 ; font-size: 16px; font-weight: 700; "> <?php echo $price; ?></span>

Вставляем после

<span style="color:#999999 ; font-size: 13px; font-weight: 700; "> /<?php echo $price_; ?>  грн.</span>  </b>
Главное не нахимичить с кодировкой.

Как подчеркнул Автор, этот вариант не есть выход из ситуации, и подходит для Детального описания товара.

---------------------------------------------------------------------------------------------------------

Отсебятина.

Если конвертим не с Доллара, конечное число нужно округлить:

<?php echo (round($price_)); ?>

УПД

font-weight: 700, нужно убрать, тк. данный параметр "ломает" шаблон в ИЕ

как сделать то же самое но в категориях?

Делаю как описанно но в файлах:

catalog/controller/product/category.php

и

/template/product/category.php

цену не выводит пустое место

Надіслати
Поділитися на інших сайтах


вот тут :

http://forum.opencart-ua.org/viewtopic.php?f=4&t=51&start=10

показывает в категориях, но что-то цифры не те.

не могу понять в чем проблема...пробуй может у тебя получиться

Надіслати
Поділитися на інших сайтах


вот тут :

http://forum.opencart-ua.org/viewtopic.php?f=4&t=51&start=10

показывает в категориях, но что-то цифры не те.

не могу понять в чем проблема...пробуй может у тебя получиться

А не подскажешь, может есть место где один раз изменишь и везде на сайте конвертироваться будет!??

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Собрал vqmod для 1.5.1.3

доллары отображаются только на странице продукта. в категориях, производителях и модулях делается по аналогии.

vqmod_usd_price.xml

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

Собрал vqmod для 1.5.1.3

доллары отображаются только на странице продукта. в категориях, производителях и модулях делается по аналогии.

добрый вечер! А можете написать пошагово как сделать 2 валюты в категориях для версии осторе 0.2.2

Спасибо

Надіслати
Поділитися на інших сайтах


добрый вечер! А можете написать пошагово как сделать 2 валюты в категориях для версии осторе 0.2.2

Спасибо

В xml файле все подробно расписано. Подробнее некуда. В 0.2.2 строки могут немного отличаться. К сожалению установленного 0.2 нет для экспериментов и некогда ставить

Надіслати
Поділитися на інших сайтах

В xml файле все подробно расписано. Подробнее некуда. В 0.2.2 строки могут немного отличаться. К сожалению установленного 0.2 нет для экспериментов и некогда ставить

дело в том, что для карточки товара я сделал конвертацией валют и цифры правильные показывает, а для категорий надо по другому делать, через result а не product_info ... в другой валюте то выводит, но совсем неправильно. Не могу понять что не так

Надіслати
Поділитися на інших сайтах


5 $ тому кто даст решение для вывода двух валют в категориях и в любом модуле (например рекомендуемые на главной). Мои контакты в профиле

Надіслати
Поділитися на інших сайтах


  • 7 months later...

Иногда хочется вывести пользователю цену на продукт в разных валютах. На равне с рублём, показать рядышком ещё и автоматически конвертированную цену в евро или долларах.

Это не реализовано в стандартной сборке, но в классе currency есть встроенная функция convert:

public function convert($value, $from, $to)

Она используется, когда вы выбираете сменить валюту в шапке сайта на Opencart. Конвертация из рублей в доллары происходит так:

$this->currency->convert($product_info['price'], 'RUS', 'USD')

Для примера реализуем вывод цены в евро (аналогично для долларов) на странице карточки товара (по умолчанию используем валюту рубли). Не забудьте, что в backend'е Opencart надо добавить и включить валюту доллара.

catalog/view/theme/default/template/product/product.tpl (около 38-й строки):

<span><?php echo $price; ?></span>

<span id="price_2"><?php echo $price_2; ?></span>

Дальше в catalog/controller/product/product.tpl (строка 227):

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {

$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

$this->data['price_2'] = "(€ ".round($this->currency->convert($product_info['price'], 'RUB', 'EUR'), '2').")";

} else {

$this->data['price'] = false;

}

Функция round(...) округляет цену до значения '2' (2 цифры после запятой).

  • +1 2
Надіслати
Поділитися на інших сайтах

  • 1 year later...

Собрал vqmod для 1.5.1.3

доллары отображаются только на странице продукта. в категориях, производителях и модулях делается по аналогии.

 

Спасибо за XML

Работает под OStore 1.5.4.1

выглядит вот так

08.04.2013-18.51.png

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Добрый вечер у  меня сборка ocStore Version 1.5.4.1 закинул данный XML файлик но ожидаемого не получил, не подскажите какая валюта изначально должна стоять по умолчанию?

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Добрый вечер у  меня сборка ocStore Version 1.5.4.1 закинул данный XML файлик но ожидаемого не получил, не подскажите какая валюта изначально должна стоять по умолчанию?

 

Данный xml работает только при долларе = 1 (валюта по умолчанию)

 

Ищю способо заставить работать данное решение при другой валюте по умолчанию.

Автор подскажешь?

Надіслати
Поділитися на інших сайтах


Иногда хочется вывести пользователю цену на продукт в разных валютах. На равне с рублём, показать рядышком ещё и автоматически конвертированную цену в евро или долларах.

Это не реализовано в стандартной сборке, но в классе currency есть встроенная функция convert:

public function convert($value, $from, $to)

Она используется, когда вы выбираете сменить валюту в шапке сайта на Opencart. Конвертация из рублей в доллары происходит так:

$this->currency->convert($product_info['price'], 'RUS', 'USD')

......

 

 Спасибо за подсказку. Дописал xml от stalker780, что бы работал когда валюта по-умолчанию не доллар.

 

Xml работает в связке гривна как основная валюта (курс 1), доллар как дополнительная курс (0.12).

 

Что бы вместо гривны использовать другую валюту измините UAH в файле.

 

Не забывайте включать доллар в списке валют, а свитчер валюты в шапке сайта можно вырезать в шаблоне

vqmod_UAH_USD_price.xml

Надіслати
Поділитися на інших сайтах


  • 1 month later...
  • 7 months later...

Не получается вывести вторую цену. Вот что пишу в catalog/view/theme/default/template/product/product.tpl

 

 <div class="price"><?php echo $text_price; ?>
        <?php if (!$special) { ?>
        <?php echo $price; ?>
        <?php } else { ?>
        <span class="price-old"><?php echo $price; ?></span> <span id="price_2"><?php echo $price_2; ?></span> <span class="price-new"><?php echo $special; ?></span>
        <?php } ?>
        <br />
        <?php if ($tax) { ?>
        <span class="price-tax"><?php echo $text_tax; ?> <?php echo $tax; ?></span><br />
        <?php } ?>
        <?php if ($points) { ?>
        <span class="reward"><small><?php echo $text_points; ?> <?php echo $points; ?></small></span><br />
        <?php } ?>
        <?php if ($discounts) { ?>
        <br />
        <div class="discount">
          <?php foreach ($discounts as $discount) { ?>
          <?php echo sprintf($text_discount, $discount['quantity'], $discount['price']); ?><br />
          <?php } ?>
        </div>
        <?php } ?>
      </div>

 

Вот что добавляю в catalog/controller/product/product.php

 

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                $this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                $this->data['price_2'] = "(&BYR; ".round($this->currency->convert($product_info['price'], 'EUR', 'BYR'), '1').")";
            } else {
                $this->data['price'] = false;
            }

 

Цена по умолчанию ЕВРО, нужно так же вывести цену в бел.рублях. В админке евро 1, BYR конвертируется правильно. Почему не работает? Сайт

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.