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:
Table of Contents
Variablen-Modifikatoren können auf alle Variablen angewendet
werden, um deren Inhalt zu verändern. Dazu hängen sie einfach
ein |
(Pipe-Zeichen) und den Modifikatornamen an
die entsprechende Variable an. Ein Modifikator über Parameter in
seiner Arbeitsweise beinflusst werden. Diese Parameter werden dem
Modifikatorname angehängt und mit :
getrennt.
Example 5.1. Modifikator Beispiel
{* Modifikator auf eine Variable anwenden *} {$titel|upper} {* Modifikator mit Parametern *} {$title|truncate:40:"..."} {* Modifikator auf Funktionsparameter anwenden *} {html_table loop=$myvar|upper} {* mit Parametern *} {html_table loop=$myvar|truncate:40:"..."} {* formatierung einer Zeichenkette *} {"foobar"|upper} {* mit date_format das aktuelle Datum formatieren *} {"now"|date_format:"%Y/%m/%d"} {* modifier auf eigene Funktion anwenden *} {mailto|upper address="me@domain.dom"}
Wenn Sie einen Modifikator auf ein Array anwenden, wird dieser auf
jeden Wert angewandt. Um zu erreichen, dass der Modifkator auf den
Array selbst angewendet wird, muss dem Modifikator ein
@
Zeichen vorangestellt werden. Beispiel:
{$artikelTitel|@count}
(gibt die Anzahl Elemente
des Arrays $artikelTitel aus.)
Modifikatoren können aus Ihrem $plugins_dir automatisch geladen (sehen Sie dazu auch Naming Conventions) oder explizit registriert werden (register_modifier).
Zudem können alle PHP-Funktionen implizit als Modifikatoren
verwendet werden. (Das Beispiel mit dem @count
Modifier verwendet die Funktion 'count()' von PHP und keinen Smarty
Modifikator) PHP Funktionen zu verwenden eröffnet zwei Probleme:
erstens: manchmal ist die Parameter Reiehnfolge nicht
erwünscht. ({"%2.f"|sprintf:$float}
funktioniert
zwar, sieht aber als
{$float|string_format:"%2.f"}
das durch Smarty
geliefert wird, besser aus. Zweitens: wenn $security auf TRUE gesetzt ist,
müssen alle verwendeten PHP Funktionen im
$security_settings['MODIFIER_FUNCS']-Array enthalten sein.
Siehe auch register_modifier(), register_function(), Smarty durch Plugins erweitern und Variablen-Modifikatoren.
Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben.
Parameter Position | Typ | Benötigt | Standardwert | Beschreibung |
---|---|---|---|---|
1 | boolean | Nein | false | Bestimmt ob Wörter die Ziffern enthalten auch in Großschreibung gewandelt werden |
Example 5.2. capitalize (in Grossbuchstaben schreiben)
<?php $smarty->assign('articleTitle', 'diebe haben in norwegen 20 tonnen streusalz entwendet.'); ?>
Wobei das Template wie folgt aussieht:
{$artikelTitel} {$artikelTitel|capitalize}
AUSGABE:
diebe haben in norwegen 20 tonnen streusalz entwendet. Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet.</programlisting>
Siehe auch lower (in Kleinbuchstaben schreiben) upper (in Grossbuchstaben umwandeln)