Jump to content

Вопросы по выводу цен


Go to solution Solved by Kors,

Recommended Posts

1. Как выводить в товаре вывод цены сразу в двух валютах, например:65 руб 1 $ ?

 

{$price|convert:USD} — возвращает 0, {$v->price|convert:USD} — возвращает ошибку смарти.

 

2. Как выводить только рубли и только копейки? Например: 65 руб. 50 к.

Edited by Al_Ary
Link to post
Share on other sites

1. {$product->variant->price|convert|:2} где 2 это ID валюты

2. Тоже самое что и первый вариант, только подставить ID рублевой валюты, конечно же для этой валюты в админке должен быть включен вывод копеек (маленькая такая иконка монет должна быть цветная, а не серая).

Link to post
Share on other sites

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

Цена: {$рублей} руб. {$копеек} к.

Если поставить вывод копеек в админке цена выводится просто 65.5 руб.

Edited by Al_Ary
Link to post
Share on other sites

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

Цена: {$рублей} руб. {$копеек} к.

Если поставить вывод копеек в админке цена выводится просто 65.5 руб.

 

такого нет в функционале. нужно разве что дописывать

Link to post
Share on other sites

Способ 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} КОП

Link to post
Share on other sites

Способ 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 копеек. Первый рабочий полностью, спасибо!

Link to post
Share on other sites
  • Solution

Способ 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)} КОП

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...