Elite-Board tech support
https://forum.illusionweb.org/

"Разбить" цену на разряды
https://forum.illusionweb.org/viewtopic.php?f=3&t=2786
Страница 1 из 2

Автор:  Aleksej [ 20 мар 2014, 23:19 ]
Заголовок сообщения:  "Разбить" цену на разряды

А можно как то разделить число, которое показывает цену товара на разряды.
Имеем к примеру 1250000 руб, а нужно 1 250 000 руб. Просто у меня товар на доске достаточно дорогостоящий :) и считать нули не очень удобно.

Автор:  SERblY [ 21 мар 2014, 00:01 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

по умолчанию цена так если не ошибаюсь выводится {%$v.value.num%} в шаблоне?! .
в файл smarty/modifirs.php добавьте:
function droblenie($str)
{
return number_format($str, 0, ',', ' ');
}
и уже в шаблоне добавьте к стандартному выводу модификатор:
{%$v.value.num|droblenie%}

Автор:  Aleksej [ 21 мар 2014, 18:50 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

SERblY писал(а):
по умолчанию цена так если не ошибаюсь выводится {%$v.value.num%} в шаблоне?! .
в файл smarty/modifirs.php добавьте:
function droblenie($str)
{
return number_format($str, 0, ',', ' ');
}
и уже в шаблоне добавьте к стандартному выводу модификатор:
{%$v.value.num|droblenie%}


Что то не получается. Ошибка
Fatal error: Cannot redeclare droblenie() (previously declared in /home/.../smarty/modifirs.php:6) in /home......

А если оставит вывод {%$v.value.num|droblenie%} без прописывания функции, то все дробится нормално, но уже с копейками, которые хотелось бы убрать.

Автор:  SERblY [ 21 мар 2014, 22:09 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

ну значит это уже по дефолту добавили в скрипт, раньше небыло! копейки убрать это и есть
короче то что я написал не добавляйте а найдите в этом файле в самом верху там будет
function droblenie($str)
{
return number_format($str, 2, ',', ' ');
}
за место двойки 0 поставьте попробуйте, щас нет у меня возможности проверить, по моему так должно заработать!

Автор:  Aleksej [ 21 мар 2014, 22:35 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Да, теперь все отлично. Большое спасибо!!!

Автор:  zZZZ [ 13 янв 2015, 23:37 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Автору спасибо!!!

Автор:  zZZZ [ 14 янв 2015, 00:06 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Всё получилось ! Только на главной всё по старому (( Подскажите пожалуйста как разбить цену так же, только на главной в шаблонах geo и expresso?

Автор:  zZZZ [ 15 янв 2015, 18:42 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Кстати, гогда переключаешь валюту, все заново в формате 123456(((

Автор:  Joker [ 16 окт 2017, 15:20 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Вообще плохая практика, править "Системные файлы" :)

Чтоб разбить цену на разделы, и при этом не лазить в файлы движка, делаем так:

В файле шаблона где выводим цену (например list.html) добавьте следующее.

Код:
{%assign var='price' value=$message.fields.p.0.value.num|number_format:0:" ":" "%}


ну и в месте где хотите вывести цену используйте

Код:
{%$price%}


Полный код: (для версии 2.3)

Код:
{%if $message.fields.p.0%}
{%assign var='price' value=$message.fields.p.0.value.num|number_format:0:" ":" "%}
        {%if $rates_default.charcode == 'rur'%}         
           {%$price%} <i class="fa fa-rub" aria-hidden="true"></i>
        {%elseif $rates_default.charcode == 'usd'%}
           {%$price%} <i class="fa fa-usd" aria-hidden="true"></i>
        {%elseif $rates_default.charcode == 'eur'%}
           {%$price%} <i class="fa fa-eur" aria-hidden="true"></i>
        {%else%}
           {%$message.fields.p.0.value.txt%}
        {%/if%}
{%/if%}


Формат цены будет такой: 10 000 000

По аналогии можно сделать и для более ранних версий EB.

Автор:  Юрий [ 05 фев 2018, 00:43 ]
Заголовок сообщения:  Re: "Разбить" цену на разряды

Спасибо, за совет)

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/