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 (1761828893) | 
| |date_format | = | formatiert das Datum schön kurz (Oct 30, 2025) | 
| |datename | = | ähnlich wie oben, nur eigene Zorg-Funktion (13:54) | 
| |date_format:"(definitionen)" | = | gemäss Smarty-Doku | 
| {$smarty.now|date_format:"%d.%m.%Y %H:%M"} | = | 30.10.2025 13:54 | 
| {$smarty.now|date_format:"%A, %d. %B %Y"} | = | Thursday, 30. October 2025 | 
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
 | 
 
					