Get Smarty

Donate

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Advertisement

math

Nome do atributo Tipo Obrigatório Padrão Descrição
equation string Sim n/a a equação à ser executar
format string Não n/a o formato do resultado (sprintf)
var numérico Sim n/a valor da variável da equação
assign string Não n/a variável de template cuja saída será atribuida
[var ...] numérica Sim n/a valor da variável da equação

math permite o desenhista de template fazer equações matemáticas no template. Qualquer variável de template numérica pode ser usada nas equações, e o resultado é exibido no lugar da tag. As variáveis usadas na equação são passadas como parâmetros, que podem ser variáveis de template ou valores estáticos. +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans and tan são todos os operadores válidos. Verifique a documentação do PHP para mais informações acerca destas funções matemáticas.

Se você fornece o atributo especial "assign", a saída da função matemática será atribuído para esta variável de template ao invés de ser exibida para o template.

Nota Técnica

math é uma função de performance cara devido ao uso da função do php eval(). Fazendo a matemática no PHP é muito mais eficiente, então sempre é possível fazer os cálculos matemáticos no PHP e lançar os resultados para o template. Definitivamente evite chamadas de funções de matemáticas repetitivamente, como dentro de loops de section.

Example 8.14. math


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

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

MOSTRA:

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#}

MOSTRA:

100


{* Você pode usar parenteses *}

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

MOSTRA:

6


{* você pode fornecer um parâmetro de formato em sprintf *}

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

MOSTRA:

9.44


Comments
No comments for this page.

Advertisement