Документация Smarty


{math}

{math} позволяет дизайнерам шаблонов проводить математические вычисления в шаблоне. Любые числовые переменные шаблона могут быть использованы в уравнениях, и результат будет выведен на месте этого тега. Переменные, используемые в уравнении, передаются в виде параметров, которые могут быть переменными шаблона или статическими значениями. +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans и tan являются доступными операторами. Обратитесь к документации PHP для получения дополнительной информации по этим математическим функциям.

Если вы указываете специальный параметр "assign", результат выполнения функции {math} будет присвоен переменной шаблона вместо вывода в шаблон.

Имя атрибутаТипОбязателенПо умолчаниюОписание
equationstringДаn/aуравнение для выполнения
formatstringНетn/aформат результата (sprintf)
varnumericДаn/aзначение переменной уравнения
assignstringНетn/aимя переменной шаблона для сохранения результата
[var ...]numericДаn/aзначение переменной уравнения

Техническое Замечание: {math} - это очень ресурсоёмкая функция из-за использования ею функции PHP eval(). Выполнение математических операций в PHP намного эффективнее, так что по возможности используйте PHP для математических рассчетов и присваивайте результат шаблону. При любых обстоятельствах, избегайте повторяющихся вызовов функции {math}, например внутри циклов {section}.

Пример 8-22. {math}

Пример №1:

{* $height=4, $width=5 *}

   {math equation="x + y" x=$height y=$width}

Результат выполнения данного примера:

9

Пример №2:

{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}

   {math equation="height * width / division"
   height=$row_height
   width=$row_width
   division=#col_div#}

Результат выполнения данного примера:

100

Пример №3:

{* вы можете использовать скобки *}

   {math equation="(( x + y ) / z )" x=2 y=10 z=2}

Результат выполнения данного примера:

6

Пример №4:

{* вы можете указать формат sprintf в параметре format *}

   {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}

Результат выполнения данного примера:

9.44
SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…