Автор Тема: P.S. 1.5 как отображать в tpl несколько цен в разных валютах.  (Прочитано 2431 раз)

29 Апрель 2013, 15:53:26
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вопрос состоит в том, что необходимо отображать на странице товара цены примерно так:

$100
800 грн 3000 руб

как это реализовать за счет функции в шаблоне или бесплатного модуля?

Все приведенные примеры, которые я встречал на просторах интернета не подходят для PrestaShop 1.5.x.x
29 Апрель 2013, 17:07:15
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
29 Апрель 2013, 17:23:22
Ответ #2
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как отобразить две цены в долларах и рублях?
Проверено на prestashop 1.5. Метод работает.

Да я читал эту статью и пробовал вывести вот так вторую цену в tpl:

{convertPriceWithCurrency price=$product->getPrice(true, $smarty.const.NULL, 2) currency=$currencies.0 convert=true}
но выводит значение валюты - $, руб, грн , а стоимость остается выбранной валюты.
29 Апрель 2013, 19:02:01
Ответ #3
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Чтобы работали функции конвертации в шаблонах Smarty
{assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 2)}
{assign var="convertedPrice" value=Tools::convertPrice($price, $currencies.0.id_currency)}
Prix : {$convertedPrice}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
29 Апрель 2013, 19:19:35
Ответ #4
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы работали функции конвертации в шаблонах Smarty
{assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 2)}
{assign var="convertedPrice" value=Tools::convertPrice($price, $currencies.0.id_currency)}
Prix : {$convertedPrice}

Спасибо за Ваш совет! Но нельзя ли немного подробней, как этим воспользоваться и куда это добавить?
29 Апрель 2013, 21:08:19
Ответ #5
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
Если в магазине 2 валюты:
1. Доллар
2. Рубль
По умолчанию установлен Рубль.
То функция convertPriceWithCurrency будет работать в шаблонах tpl (smarty)
<div class="price">
    {convertPriceWithCurrency price=$product->getPrice(true, $smarty.const.NULL, 2) currency=$currencies.0 convert=true}
покажет цену в евро с учетом курса.
$currencies.0Это указывает, что конвертировать и показывать цену нужно в долларах. Если валют больше и нужно показать другие валюты, то сменить 0 на 1,2...
29 Апрель 2013, 21:30:31
Ответ #6
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Prestashop 1.5.3.1, из дефолтного шаблона в product.tpl добавляем в <div class="price"> следующие выше указанное:

{convertPriceWithCurrency price=$product->getPrice(true, $smarty.const.NULL, 2) currency=$currencies.0 convert=true}
в настройках валют магазина установлены 3 валюты по умолчанию доллар - 0 и гривна - 1, рубль - 2

итог:
29 Апрель 2013, 21:48:30
Ответ #7
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
{assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 2)}
{assign var="convertedPrice" value=Tools::convertPrice($price, $currencies.0.id_currency)}
Prix : {$convertedPrice}


Разобрался, спасибо! Вот этот код работает! Но как показывать цену без десятичных т.е. вместо $1.01 -> $1
29 Апрель 2013, 23:03:09
Ответ #8
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
{assign var="price" value=$product->getPrice(true, $smarty.const.NULL, 0)}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
05 Май 2013, 10:51:21
Ответ #9
  • Новичок
  • *
  • Сообщений: 7
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля


Разобрался, спасибо! Вот этот код работает! Но как показывать цену без десятичных т.е. вместо $1.01 -> $1

У меня вот так. Показывает без десятичных.

{round($convertedPrice, 0)}