Вывод цены с двумя знаками после запятой — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «<h2>Как выводить цену с 2 знаками после запятой?</h2> Попробуйте добавить следующий код в ~/classe…»)
 
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
<h2>Как выводить цену с 2 знаками после запятой?</h2>
+
[[Категория:Верстка в TPL]][[Категория: Модуль Интернет магазин]]
 +
'''Актуально для версии 2.9.6'''<br/><br/>
 +
'''Задача:''' Выводить цену на страницах сайта с двумя знаками после запятой <br/><br/>
 +
'''Реализация:'''<br/>
  
Попробуйте добавить следующий код в ~/classes/modules/custom.php сразу после строки
+
В файл '''''~/classes/modules/custom.php''''' добавим определение макроса format_price, который будет возвращать цену с двумя знаками после запятой:
<pre>
+
<source lang="php">
public function format_price($price)
+
public function format_price( $price )
 
+
{
{
+
    return number_format( $price, 2 );
        return number_format($price, 2);
 
 
}
 
}
</pre>
+
</source>
 
   
 
   
Регистрировать его нигде не нужно.
+
Макрос format_price() принимает единственный параметр $price - цену (число), которую нужно преобразовать.
 +
<h2>TPL-шаблонизатор</h2>
 +
Пример вызовов макроса:
 +
<source lang="html4strict">
 +
%custom format_price( '%price%' )%
 +
</source>
 +
<source lang="html4strict">
 +
%custom format_price( '754.4' )%
 +
</source>
 +
 
 +
<h2>XSLT-шаблонизатор</h2>
 +
Пример вызовов макроса:
 +
<source lang="xml">
 +
<xsl:value-of select="document(concat('udata://custom/format_price/', $price))/udata"/>
 +
</source>
  
Пример использования (в зависимости от шаблона):
+
<source lang="xml">
<pre>
+
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata"/>
% custom format_price('% price%')%
+
</source>
или
 
% custom format_price('% value%')%
 
</pre>
 

Текущая версия на 08:46, 21 апреля 2014

Актуально для версии 2.9.6

Задача: Выводить цену на страницах сайта с двумя знаками после запятой

Реализация:

В файл ~/classes/modules/custom.php добавим определение макроса format_price, который будет возвращать цену с двумя знаками после запятой:

public function format_price( $price )
{
     return number_format( $price, 2 );
}

Макрос format_price() принимает единственный параметр $price - цену (число), которую нужно преобразовать.

TPL-шаблонизатор

Пример вызовов макроса:

%custom format_price( '%price%' )%
%custom format_price( '754.4' )%

XSLT-шаблонизатор

Пример вызовов макроса:

<xsl:value-of select="document(concat('udata://custom/format_price/', $price))/udata"/>
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata"/>