smarty template engine
Saturday, May 17, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Kapitel 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.

Beispiel 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 PositionTypBenötigtStandardwertBeschreibung
1booleanNeinfalseBestimmt ob Wörter die Ziffern enthalten auch in Großschreibung gewandelt werden

Beispiel 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)




 

credits 

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