Al_Ary Опубликовано 12 июня, 2016 Жалоба Поделиться Опубликовано 12 июня, 2016 (изменено) 1. Как выводить в товаре вывод цены сразу в двух валютах, например:65 руб 1 $ ? {$price|convert:USD} — возвращает 0, {$v->price|convert:USD} — возвращает ошибку смарти. 2. Как выводить только рубли и только копейки? Например: 65 руб. 50 к. Изменено 12 июня, 2016 пользователем Al_Ary Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 12 июня, 2016 Жалоба Поделиться Опубликовано 12 июня, 2016 1. {$product->variant->price|convert|:2} где 2 это ID валюты 2. Тоже самое что и первый вариант, только подставить ID рублевой валюты, конечно же для этой валюты в админке должен быть включен вывод копеек (маленькая такая иконка монет должна быть цветная, а не серая). Цитата Ссылка на сообщение Поделиться на другие сайты
Al_Ary Опубликовано 13 июня, 2016 Автор Жалоба Поделиться Опубликовано 13 июня, 2016 (изменено) Спасибо, пунк 1 работает, а вот по второму наверное не совсем понятно вопрос задал, попытаюсь пояснить. Надо выводить цену так, чтобы в шаблоне было как бы два тега: один для целых, второй для долей: Цена: {$рублей} руб. {$копеек} к. Если поставить вывод копеек в админке цена выводится просто 65.5 руб. Изменено 13 июня, 2016 пользователем Al_Ary Цитата Ссылка на сообщение Поделиться на другие сайты
Al_Ary Опубликовано 13 июня, 2016 Автор Жалоба Поделиться Опубликовано 13 июня, 2016 Странности: {$v->price|convert:USD} заработал. Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 13 июня, 2016 Жалоба Поделиться Опубликовано 13 июня, 2016 Спасибо, пунк 1 работает, а вот по второму наверное не совсем понятно вопрос задал, попытаюсь пояснить. Надо выводить цену так, чтобы в шаблоне было как бы два тега: один для целых, второй для долей: Цена: {$рублей} руб. {$копеек} к. Если поставить вывод копеек в админке цена выводится просто 65.5 руб. такого нет в функционале. нужно разве что дописывать Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 13 июня, 2016 Жалоба Поделиться Опубликовано 13 июня, 2016 Можно попробовать через str_replace заменить точку или запятую в цене на надпись руб прямо в шаблоне Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 13 июня, 2016 Жалоба Поделиться Опубликовано 13 июня, 2016 Способ 1:{($v->price|convert:null:false)|floor} РУБ{(($v->price|convert:null:false)*100-(($v->price|convert:null:false)|floor)*100)|floor} КОПСпособ 2:{$price2=explode('.',$v->price|convert:null:false)}{$price2.0} РУБ {$price2.1} КОП Цитата Ссылка на сообщение Поделиться на другие сайты
Al_Ary Опубликовано 14 июня, 2016 Автор Жалоба Поделиться Опубликовано 14 июня, 2016 Способ 1: {($v->price|convert:null:false)|floor} РУБ{(($v->price|convert:null:false)*100-(($v->price|convert:null:false)|floor)*100)|floor} КОП Способ 2:{$price2=explode('.',$v->price|convert:null:false)}{$price2.0} РУБ {$price2.1} КОПВторой способ не корректно работает, если у копеек десятичное значение. Например 50 копеек выводит как 5 копеек. Первый рабочий полностью, спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kors Опубликовано 15 июня, 2016 Решение Жалоба Поделиться Опубликовано 15 июня, 2016 Способ 2 подправляю:{$price2=explode('.',$v->price|convert:null:false)}{$price2.1=substr(join('',array($price2.1,'00')),0,2)}{$price2.0} РУБ {$price2.1} КОП Тяжеловато выглядит, но как проще - не могу сообразить... Способ 3:{$pr=$v->price|convert}{$len=strlen($pr)}{substr($pr,0,$len-3)} РУБ {substr($pr,$len-2,2)} КОП Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.