smarty template engine
Friday, May 16, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


math (Mathematik)

Attribut NameTypErforderlichStandardwertBeschreibung
equationstringJan/aDer auszuführende Vergleich.
formatstringNeinn/aFormat der Ausgabe. (sprintf)
varnumericJan/aWert der Vergleichsvariable.
assignstringNeinn/aTemplate-Variable welcher die Ausgabe zugewiesen werden soll.
[var ...]numericYesn/aZusätzliche Werte.

'math' ermöglicht es dem Designer, mathematische Gleichungen durchzuführen. Alle numerischen Template-Variablen können dazu verwendet werden und die Ausgabe wird an die Stelle des Tags geschrieben. Die Variablen werden der Funktion als Parameter übergeben, dabei kann es sich um statische oder um Template-Variablen handeln. Erlaubte Operatoren umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie die PHP-Dokumentation für zusätzliche Informationen zu dieser Funktion.

Falls Sie die spezielle 'assign' Variable übergeben, wird die Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben Namen zugewiesen anstatt ausgegeben zu werden.

Technische Bemerkung: Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript zu verwenden ist wesentlich performanter. Sie sollten daher - wann immer möglich - auf die Verwendung verzichten. Stellen Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections' oder anderen 'loop'-Konstrukten verwenden.

Beispiel 8-19. math (Mathematik)

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

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

AUSGABE:

9


{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *}

{math equation="height * width / division"
      height=$row_height
      width=$row_width
      division=#col_div#}

AUSGABE:

100



{* Sie können auch Klammern verwenden *}

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

AUSGABE:

6



{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *}

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

AUSGABE:

9.44



 

credits 

Smarty Copyright © 2002-2008 New Digital Group, Inc.
All rights reserved.
Last updated: Tue Feb 12 09:11:05 2008 CST