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

Материал из Umicms
Перейти к:навигация, поиск
Строка 13: Строка 13:
 
   
 
   
 
Макрос format_price() принимает единственный параметр $price - цену (число), которую нужно преобразовать.
 
Макрос format_price() принимает единственный параметр $price - цену (число), которую нужно преобразовать.
 
+
<h2>TPL-шаблонизатор</h2>
 
Пример вызовов макроса:
 
Пример вызовов макроса:
 
<source lang="html4strict">
 
<source lang="html4strict">
Строка 20: Строка 20:
 
<source lang="html4strict">
 
<source lang="html4strict">
 
%custom format_price( '754.4' )%
 
%custom format_price( '754.4' )%
 +
</source>
 +
 +
<h2>XSLT-шаблонизатор</h2>
 +
Пример вызовов макроса:
 +
<source lang="xml">
 +
<xsl:value-of select="document(concat('udata://custom/format_price/', $price))/udata/value"/>
 +
</source>
 +
 +
<source lang="xml">
 +
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata/value"/>
 
</source>
 
</source>

Версия 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/value"/>
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata/value"/>