Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

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

 

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

 

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

Изменено пользователем Al_Ary
Ссылка на сообщение
Поделиться на другие сайты

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

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

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Изменено пользователем Al_Ary
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Ссылка на сообщение
Поделиться на другие сайты

Можно попробовать через str_replace заменить точку или запятую в цене на надпись руб прямо в шаблоне

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

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

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...