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

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[Категория:Верстка в TPL]][[Категория: Верстка в XSLT]][[Категория: Модуль Интернет Магазин]]
+
[[Категория:Верстка в TPL]][[Категория: Модуль Интернет магазин]]
 
'''Актуально для версии 2.9.6'''<br/><br/>
 
'''Актуально для версии 2.9.6'''<br/><br/>
 
'''Задача:''' Выводить цену на страницах сайта с двумя знаками после запятой <br/><br/>
 
'''Задача:''' Выводить цену на страницах сайта с двумя знаками после запятой <br/><br/>
 
'''Реализация:'''<br/>
 
'''Реализация:'''<br/>
  
В файл '''''~/classes/modules/custom.php'''''добавим определение макроса format_price, который будет возвращать цену с двумя знаками после запятой:
+
В файл '''''~/classes/modules/custom.php''''' добавим определение макроса format_price, который будет возвращать цену с двумя знаками после запятой:
 
<source lang="php">
 
<source lang="php">
 
public function format_price( $price )
 
public function format_price( $price )
Строка 12: Строка 12:
 
</source>
 
</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"/>