math Имя аттрибута Тип Обязателен По умолчанию Описание equation строка (string) Да n/a математической выражение format строка (string) Нет n/a формат рузультата (sprintf) var numeric Да n/a переменная выражения assign строка (string) Нет n/a переменная шаблона, которой будет присвоен вывод [var ...] numeric Да n/a дополнительные переменные выражения пользовательская функция math позволяет дизайнерам шаблонов вычислять математические выражения в шаблоне. Любая численная переменная шаблона может быть использована в выражении. Переменные, используемые в выражении, передаються в качестве параметров, которые могут быть как и переменные шаблона, так и статические щначения. Допустимые операторы: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans и tan. Ознакомтесь с php документацией под данным функциям. Если указан аттрибут "assign", то вывод будет присвоен переменной, вместо отображения. Техническое Замечание использование функции math значительно сказывается на времени выполнения программы, так как реализована с помощью php функции eval(). Выполнение математических операций в php программе более эффективно, то есть следует везде, где возможно, делать вычисления в программе и передавать результ в шаблон. Следует также избегать повторяющегося вызова функции math (например в циклах). math {* $height=4, $width=5 *} {math equation="x + y" x=$height y=$width} OUTPUT: 9 {* $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#} OUTPUT: 100 {* можно использовать скобки *} {math equation="(( x + y ) / z )" x=2 y=10 z=2} OUTPUT: 6 {* можно указать формат результата (sprintf) *} {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"} OUTPUT: 9.44