Автор Тема: Вопросы по ограничению валют  (Прочитано 2412 раз)

07 Декабрь 2014, 18:02:37
Ответ #15
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
В шаблоне модуля оплаты банковским переводом(bankwire) есть вывод суммарной цены заказа:
{displayPrice price=$total}Мне необходимо,чтобы рядом с этой ценой(через запятую или с новой строки) была общая цена заказа в UAH.
Как можно достать и конвертировать $total используя функцию convertPriceWithCurrency ?
Вторым параметром для вывода валюты я задам например
currency=$currencies.1 convert=true, где 1 - id валюты UAH.
Как задать на входе этой функции общую цену $total ?
{convertPriceWithCurrency price=????? currency=$currencies.1 convert=true}
07 Декабрь 2014, 18:13:47
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере нужно будет определить эти переменные smarty. На странице товара они работают, потому что определны в контроллере Product. А для страниц заказа контроллер Order.
07 Декабрь 2014, 18:32:48
Ответ #17
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
10 Декабрь 2014, 19:16:49
Ответ #18
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Здравствуйте,

Никак не могу справиться с этой задачей. На сайте валюта по-умолчанию Евро, необходимо на странице товара выводить валюту в Гривне,т.е. чтобы она была конвертирована в гривну и был соответствующий знак валюты. Почитав тему выяснил,что за конвертацию отвечает функция convertPriceWithCurrency.

В шаблоне страницы товара сейчас валюта выводится так:
{convertPrice price=$productPrice}Я добавил такой код с новой строки для вывода валюты в Гривне:
{convertPriceWithCurrency price=$product->getPrice(true, $smarty.const.NULL, 2) currency=$currencies.0 convert=true}Знак валюты поменялся, но сама цена нет, она такая же, как и цена в Евро.
Судя по коду,функция возвращает значения цены и валюты:
public static function convertPriceWithCurrency($params, &$smarty)
{
return Tools::displayPrice($params['price'], $params['currency'], false);
}

Она возвращает оба значения, изменение значение происходит только для знака валюты,но сама цена не конвертируется.
Подскажите,что нужно поправить,чтобы цена конвертировалась? Что значит 'false' в этой функции?
10 Декабрь 2014, 19:33:33
Ответ #19
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Вот такие темы
http://prestashop-forum.ru/index.php/topic,623.msg2931.htm
http://prestashop-forum.ru/index.php/topic,623.msg2931.htm
http://prestashop-forum.ru/index.php/topic,1130.msg5270.html

Цитировать
Подскажите,что нужно поправить,чтобы цена конвертировалась? Что значит 'false' в этой функции?
это переменная $no_utf8.
10 Декабрь 2014, 21:55:33
Ответ #20
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Спасибо,но эти темы я уже прочел. Сделал как рекомендовали в обсуждениях, но результата пока не достиг.