Перейти к содержанию
kefirchikus

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

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

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

Пример :

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

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

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

тоже на 1.4.7

Поделиться сообщением


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

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

Пример :

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

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

Поделиться сообщением


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

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

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

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

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

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

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

Поделиться сообщением


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

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

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

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

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

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

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

Поделиться сообщением


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

Привет! Кто решил данный вопрос? Поделитесь установкой...

Поделиться сообщением


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

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

Знаю что 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

Поделиться сообщением


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

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

Знаю что 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, нужно убрать, тк. данный параметр "ломает" шаблон в ИЕ

Изображение

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

Поделиться сообщением


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

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

Знаю что 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

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

Поделиться сообщением


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

или как сделать, отображение USA -> RUB на всем сайте????? народ подскажите :(

Поделиться сообщением


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

вот тут :

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

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

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

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

Поделиться сообщением


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

задача осталась - а решения нет :(

как на всем сайте сделать конвертацию USD -> RUB ??? подскажите плиз ...

Поделиться сообщением


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

Собрал vqmod для 1.5.1.3

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

vqmod_usd_price.xml

  • +1 2

Поделиться сообщением


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

Собрал vqmod для 1.5.1.3

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

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

Спасибо

Поделиться сообщением


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

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

Спасибо

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

  • +1 1

Поделиться сообщением


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

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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

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

Поделиться сообщением


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

Собрал vqmod для 1.5.1.3

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

 

Спасибо за XML

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

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

08.04.2013-18.51.png

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

кто может сказать как вывести такое в категории товара и другие модули с ценой?

Поделиться сообщением


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

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