{math}

{math} autorise les designers de templates à effectuer des opérations dans le template.

Note technique

{math} est une fonction coûteuse en terme de performances, du fait qu'elle utilise la fonction PHP eval(). Effectuer les calculs dans votre code PHP est beaucoup plus efficient, donc, chaque fois que possible, effectuez vos calculs directement dans PHP et assignez le résultat au template. Evitez coût que coût les appels répétitifs à la fonction {math}, comme on pourait le faire une une boucle {section}.

Nom attribut Type Requis Défaut Description
equation chaîne de caractères Oui n/a L'opération à éxécuter
format chaîne de caractères Non n/a Le format du résultat (sprintf)
var numeric Oui n/a Les variables de l'opération
assign chaîne de caractères Non n/a Variable de template dans laquelle la sortie sera assignée
[var ...] numeric Oui n/a Valeurs des variables de l'opération

Example 8.24. {math}

Exemple a :


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

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

  

L'exemple ci-dessus affichera :


    9

  

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

  

L'exemple ci-dessus affichera :


   100

  

Exemple c :


{* vous pouvez utiliser des parenthèses *}

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

  

L'exemple ci-dessus affichera :


   6

  

Exemple d :


{* vous pouvez définir un format sprintf pour l'affichage *}

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


  

L'exemple ci-dessus affichera :


   9.44