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

Материал из Umicms
Перейти к:навигация, поиск
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
Попробуйте добавить следующий код в '''''~/classes/modules/custom.php''''', сразу после строки "//TODO: Write your own macroses here":
+
[[Категория:Верстка в TPL]][[Категория: Модуль Интернет магазин]]
<pre>
+
'''Актуально для версии 2.9.6'''<br/><br/>
public function format_price($price)
+
'''Задача:''' Выводить цену на страницах сайта с двумя знаками после запятой <br/><br/>
 +
'''Реализация:'''<br/>
  
{
+
В файл '''''~/classes/modules/custom.php''''' добавим определение макроса format_price, который будет возвращать цену с двумя знаками после запятой:
        return number_format($price, 2);
+
<source lang="php">
 +
public function format_price( $price )
 +
{
 +
    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>
<pre>
+
Пример вызовов макроса:
%custom format_price('%price%')%
+
<source lang="xml">
или
+
<xsl:value-of select="document(concat('udata://custom/format_price/', $price))/udata"/>
%custom format_price('%value%')%
+
</source>
</pre>
+
 
 +
<source lang="xml">
 +
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata"/>
 +
</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"/>
<xsl:value-of select="document(concat('udata://custom/format_price/', '754.4'))/udata"/>