Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

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

Пример :

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

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

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

тоже на 1.4.7

Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...

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

Пример :

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

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

Ссылка на комментарий
Поделиться на других сайтах


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

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

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

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

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

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

Ссылка на комментарий
Поделиться на других сайтах


  • 2 недели спустя...

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

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

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

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

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

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


  • 4 недели спустя...
  • 2 недели спустя...

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

Знаю что 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 месяцев спустя...

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

Знаю что 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 месяц спустя...

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

Знаю что 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 недели спустя...

Собрал vqmod для 1.5.1.3

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

vqmod_usd_price.xml

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Собрал 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 месяцев спустя...

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

Это не реализовано в стандартной сборке, но в классе 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 год спустя...

Собрал vqmod для 1.5.1.3

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

 

Спасибо за XML

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

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

08.04.2013-18.51.png

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

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

Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...

Добрый вечер у  меня сборка 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 месяц спустя...
  • 7 месяцев спустя...

Не получается вывести вторую цену. Вот что пишу в 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 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.