smarty template engine
Thursday, September 02, 2010  
download | documentation | faq | forum | mailing lists | changelog | contribs 


Translate this page to:
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


[advertise]


credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.