Nombre del Atributo | Tipo | Requerido | Default | Descripción |
---|---|---|---|---|
equation | string | Si | n/a | La ecuación a ejecutar |
format | string | No | n/a | El formato del resultado (sprintf) |
var | numeric | Si | n/a | Valor de la variable de la ecuación |
assign | string | No | n/a | Variable de template cuya salida sera asignada |
[var ...] | numeric | Si | n/a | Valor de la variable de la ecuación |
{math} permite diseñar ecuaciones matemáticas dentro del template. Cualquier variable numérica del template puede ser usada en ecuaciones, y el resultado es mostrado en lugar de la etiqueta. Las variables usadas en ecuaciones son pasadas como parámetros, que pueden ser variables de template o valores estáticos. +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans y tan son todos los operadores validos. Verifique la documentación de PHP para mas información acerca de estas funciones matemáticas.
Si usted proporciona el atributo especial "assign", la salida de la función matemática será atribuido a esta variable de template en vez de ser mostrada en el template.
Nota Técnica
{math} es una función de muy alto rendimiento debido a que se puede usar con la función eval() de PHP. Hacer las matemáticas en PHP es mucho mas eficiente, asi en cualquier momento es posible hacer calculos matemáticos en PHP asignarlos a una variable y lanzar los resultados al template. Defínitivamente evite llamadas repetitivas de funciones matemáticas, dentro de los ciclos {section}.
Example 8.19. {math}
Ejemplo a:
{* $height=4, $width=5 *} {math equation="x + y" x=$height y=$width}
Salida del ejemplo de arriba:
9
Ejemplo b:
{* $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#}
Salida del ejemplo de arriba:
100
Ejemplo c:
{* you can use parenthesis *} {math equation="(( x + y ) / z )" x=2 y=10 z=2}
Salida del ejemplo de arriba:
6
Ejemplo d:
{* you can supply a format parameter in sprintf format *} {math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
Salida del ejemplo de arriba:
9.44