Al_Ary Posted June 12, 2016 Report Share Posted June 12, 2016 (edited) 1. Как выводить в товаре вывод цены сразу в двух валютах, например:65 руб 1 $ ? {$price|convert:USD} — возвращает 0, {$v->price|convert:USD} — возвращает ошибку смарти. 2. Как выводить только рубли и только копейки? Например: 65 руб. 50 к. Edited June 12, 2016 by Al_Ary Quote Link to post Share on other sites
Noxter Posted June 12, 2016 Report Share Posted June 12, 2016 1. {$product->variant->price|convert|:2} где 2 это ID валюты 2. Тоже самое что и первый вариант, только подставить ID рублевой валюты, конечно же для этой валюты в админке должен быть включен вывод копеек (маленькая такая иконка монет должна быть цветная, а не серая). Quote Link to post Share on other sites
Al_Ary Posted June 13, 2016 Author Report Share Posted June 13, 2016 (edited) Спасибо, пунк 1 работает, а вот по второму наверное не совсем понятно вопрос задал, попытаюсь пояснить. Надо выводить цену так, чтобы в шаблоне было как бы два тега: один для целых, второй для долей: Цена: {$рублей} руб. {$копеек} к. Если поставить вывод копеек в админке цена выводится просто 65.5 руб. Edited June 13, 2016 by Al_Ary Quote Link to post Share on other sites
Al_Ary Posted June 13, 2016 Author Report Share Posted June 13, 2016 Странности: {$v->price|convert:USD} заработал. Quote Link to post Share on other sites
mishanya Posted June 13, 2016 Report Share Posted June 13, 2016 Спасибо, пунк 1 работает, а вот по второму наверное не совсем понятно вопрос задал, попытаюсь пояснить. Надо выводить цену так, чтобы в шаблоне было как бы два тега: один для целых, второй для долей: Цена: {$рублей} руб. {$копеек} к. Если поставить вывод копеек в админке цена выводится просто 65.5 руб. такого нет в функционале. нужно разве что дописывать Quote Link to post Share on other sites
Kosjak76 Posted June 13, 2016 Report Share Posted June 13, 2016 Можно попробовать через str_replace заменить точку или запятую в цене на надпись руб прямо в шаблоне Quote Link to post Share on other sites
Kors Posted June 13, 2016 Report Share Posted June 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} КОП Quote Link to post Share on other sites
Al_Ary Posted June 14, 2016 Author Report Share Posted June 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 копеек. Первый рабочий полностью, спасибо! Quote Link to post Share on other sites
Solution Kors Posted June 15, 2016 Solution Report Share Posted June 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)} КОП Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.