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

Advertisement

Chapter 5. Variablen-Modifikatoren

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.

capitalize (in Grossbuchstaben schreiben)

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)