What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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.
{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