Вывод цены с двумя знаками после запятой — различия между версиями
Материал из Umicms
Stexe (обсуждение | вклад) |
Stexe (обсуждение | вклад) |
||
Строка 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"/>