zorg Smarty Template Doku
Smarty Grundlagen
HTML: | http://selfhtml.teamone.de/html/index.htm |
smarty (Template Engine): | http://smarty.php.net/manual/de/ |
In smarty gibt es folgende Sprachkonstrukte: (Grundsätzlich sind alle smarty-Befehle in geschweifte Klammern { } gefasst)
Variablen |
Beispiele: {$var} {$var[2]} {$var.id} {$var->id} Variablen beginnen mit einem $. Es gibt Arrays ({$var[2]}), Assoziative Arrays ({$var.id]} und Objekte ({$var->id}). Auf Objekten können keine Funktionen aufgerufen werden. Eine normale Variable wird folgendermassen erzeugt: {assign var="meine_var" value="ein Wert"} Es ist auch möglich, mit Smarty Arrays zu erzeugen. Mehr dazu bei der Array Funktion. |
Modifikatoren |
Beispiele: {$var|mod} {$var|mod1|mod2} {$var|mod:param} {$var|mod:p1:p2} Modifikatoren passen vor der Ausgabe die Variabel-Werte an. (Die Variable selbst wird nicht geändert) Modifikatoren werden mittels Pipe | hinter den Variabel-Namen gehängt. Es können auch mehrere Modifikatoren angehängt werden. Dem Modifikator können (durch : getrennt) auch eines oder mehrere Argumente übergeben werden. |
Funktionen |
Beispiele: {func} {func param="probier das mal"} {func param="Hans" id=6} Die Reihenfolge der Argumente spielt keine Rolle. Wie bei HTML ist es empfehlenswert, die Argument-Werte in Anführungszeichen zu setzen. Bei Zahlen oder einzelnen Wörtern funktioniert es aber auch ohne. |
Blöcke |
Beispiele: {block}...{/block} {block param="hans"}...{/block} Blöcke müssen immer von einem öffnenden und schliessenden Tag umgeben sein. Wie bei Funktionen können einem Block im öffnen Tag Parameter übergeben werden. |
zorg Smarty Features
Packages:
[Error: Access denied on 28]
Mathematische Funktionen
Ganz einfach... | ||
{$var1+5} | = | x |
{$var1-$var2} | = | x |
{$var1/5} | = | x |
{$var1*$var2} | = | x |
Komplexer... | ||
{$var1+$var2*$var3} | = | x |
{assign var="var1" value=25} {assign var="var2" value=5} {$var1/$var2} | = | 5 |
{assign var="var3" value="`$var1+$var2`"} | = | x |
{$truncate_var|truncate:"`$truncate_count/$truncate_factor-1`"} | = | x (gekürzt) |
Datums-Funktionen
Beispiele: {$timestamp-var|modifier} | ||
{$smarty.now} | = | aktueller Zeitstempel (1732232325) |
|date_format | = | formatiert das Datum schön kurz (Nov 22, 2024) |
|datename | = | ähnlich wie oben, nur eigene Zorg-Funktion (00:38) |
|date_format:"(definitionen)" | = | gemäss Smarty-Doku |
{$smarty.now|date_format:"%d.%m.%Y %H:%M"} | = | 22.11.2024 00:38 |
{$smarty.now|date_format:"%A, %d. %B %Y"} | = | Friday, 22. November 2024 |
Variablen
Template {$tpl.x}
User {$user->x}
Zorg Smarty Variablen
|
Modifier
Vor die Pipe | kommt jeweils ein Variablen-Name. Nach der Pipe kommt der Modifier. Dieser ändert die Variable. {$timestamp|dateformat} Gibt einem Timestamp ein schönes Datums-Format. {$userid|username} Konvertiert User-ID zu Username. {$groupid|usergroup} Gibt den Namen der entsprechenden Usergroup aus. Usergroups sind die Gruppen, an welche die Lese- und Schreibrechte eines Templates erteilt werden. {$string|truncate:30} Kürzt einen String (Text) oder eine Zahl auf die mit :XY angegebene Länge. Weitere Beispiele: {$string|truncate:30:"..."} - Kürzt auf 30 Zeichen und setzt "..." an {$string|truncate:30:"---":true} - Kürzt auf 27 Zeichen und setzt "---" an (= 30 Zeichen lang) Zorg Smarty Modifikatoren
|
Layout
{include file=1} Fügt ein anderes Template an dieser Stelle ein. 'file' gibt die tpl-id an, welche unten rechts auf jeder Seite zu sehen ist. {spc i=3} Fügt eine bestimmte Anzahl (hier 3) 'Unbreakable Spaces' ein {link tpl=1 param="htmlparameter=geek"}...{/link} Fügt einen Link zum Template tpl (hier 1) ein. Die tpl-id könnt ihr auf jeder Seite unten rechts sehen. Mittels param="..." könnt ihr weitere eigene URL-parameter anfügen. {link url="gallery.php?show=albumThumbs" param="albID=41"}...{/link} Fügt einen Link zu einer definierten URL (url=...) ein und übergibt noch zusätzliche Parameter (hier zum Album#41 [APOD]). {button tpl=1 param="htmlparameter=geek"}...{/button} Wie Link, aber als Button. {edit_link}[edit]{/edit_link} Fügt einen Link ein, durch welchem das aktuelle Template direkt im Editor geöffnet wird (sinnvoll bei Templates ohne Footer oder Templates, die anderswo included werden) Zorg Smarty Blöcke
|