diff --git a/docs/de/designers/language-basic-syntax.xml b/docs/de/designers/language-basic-syntax.xml
index a29635d1..fa599089 100644
--- a/docs/de/designers/language-basic-syntax.xml
+++ b/docs/de/designers/language-basic-syntax.xml
@@ -15,143 +15,14 @@
entsprechenden Ausgaben an deren Stelle einzufügen.
-
- Kommentare
-
- Kommentare werden von Asterisks umschlossen, und mit Trennzeichen umgeben.
- Beispiel: {* das ist ein Kommentar *}
- Smarty-Kommentare werden in der Ausgabe nicht dargestellt und vor allem
- dazu verwendet, die Templates verständlicher aufzubauen.
-
-
- Kommentare
-
-{* Smarty *}
+&designers.language-basic-syntax.language-syntax-comments;
-{* einbinden des Header-Templates *}
-{include file="header.tpl"}
+&designers.language-basic-syntax.language-syntax-functions;
-{include file=$includeFile}
+&designers.language-basic-syntax.language-syntax-attributes;
-{include file=#includeFile#}
-
-{* Ausgabe der drop-down Liste *}
-<SELECT name=firma>
-{html_options values=$vals selected=$selected output=$output}
-</SELECT>
-
-
-
-
- Funktionen
-
- Jedes Smarty-Tag gibt entweder eine Variable aus
- oder ruft eine Funktion auf. Funktionen werden aufgerufen indem der Funktionsname
- und die Parameter mit Trennzeichen umschlossen werden. Beispiel: {funcname attr1="val" attr2="val"}.
-
-
- Funktions-Syntax
-
-{config_load file="colors.conf"}
-
-{include file="header.tpl"}
-
-{if $highlight_name}
- Welcome, <font color="{#fontColor#}">{$name}!</font>
-{else}
- Welcome, {$name}!
-{/if}
-
-{include file="footer.tpl"}
-
-
- Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der
- gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie if, section
- und strip. Diese Funktionen können nicht verändert werden.
- Individuelle Funktionen die die Fähigkeiten von Smarty erweitern werden als Plugins implementiert.
- Diese Funktionen können von Ihnen angepasst werden, oder Sie können selbst neue Plugins
- hinzufügen. html_options und html_select_date sind Beispiele solcher Funktionen.
-
-
-
-
- Attribute / Parameter
-
- Die meisten Funktionen nehmen Parameter entgegen, die das
- Verhalten der Funktion definieren beziehungsweise beeinflussen. Parameter
- für Smarty Funktionen sind HTML Attributen sehr ähnlich.
- Statische Werte müssen nicht in Anführungszeichen gesetzt werden,
- für literale Zeichenketten (literal strings) wird dies jedoch empfohlen.
-
-
- Bestimmte Parameter verlangen logische Werte (true / false). Diese
- können auch ohne Anführungszeichen angegeben werden:
- true, on und yes
- - oder false, off und no.
-
-
- Funktions-Parameter Syntax
-
-{include file="header.tpl"}
-
-{include file=$includeFile}
-
-{include file=#includeFile#}
-
-{html_select_date display_days=yes}
-
-<SELECT name=firma>
-{html_options values=$vals selected=$selected output=$output}
-</SELECT>
-
-
-
-
- Variablen mit Doppelten Anführungszeichen
-
- Smarty erkennt zugewiesene Variablen mit doppelten Anführungszeichen solange
- die Variablen nur Zahlen, Buchstaben, Understriche oder Klammern [] enthalten. Mit allen
- anderen Zeichen wie Punkt, Objekt Referenzen, etc muss die Vairable mit Backticks umschlossen sein.
-
-
- Syntax von eingebetteten Anfürungszeichen
-
-SYNTAX BEISPIELE:
-{func var="test $foo test"} <-- sieht $foo
-{func var="test $foo_bar test"} <-- sieht $foo_bar
-{func var="test $foo[0] test"} <-- sieht $foo[0]
-{func var="test $foo[bar] test"} <-- sieht $foo[bar]
-{func var="test $foo.bar test"} <-- sieht $foo (nicht $foo.bar)
-{func var="test `$foo.bar` test"} <-- sieht $foo.bar
-
-PRAKTISCHE BEISPIELE:
-{include file="subdir/$tpl_name.tpl"} <-- ersetzt $tpl_name durch wert
-{cycle values="one,two,`$smarty.config.myval`"} <-- muss Backticks enthalten
-
-
-
- Math
-
- Mathematische Operationen können direkt auf Variablen verwendet werden.
-
-
- Mathematik Beispiele
-
-{$foo+1}
-
-{$foo*$bar}
-
-{* kompliziertere Beispiele *}
-
-{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}
-
-{if ($foo+$bar.test%$baz*134232+10+$b+10)}
-
-{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
-
-{assign var="foo" value="`$foo+$bar`"}
-
-
+&designers.language-basic-syntax.language-syntax-quotes;
+&designers.language-basic-syntax.language-math;
+
+ Math
+
+ Mathematische Operationen können direkt auf Variablen verwendet werden.
+
+
+ Mathematik Beispiele
+
+{$foo+1}
+
+{$foo*$bar}
+
+{* kompliziertere Beispiele *}
+
+{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}
+
+{if ($foo+$bar.test%$baz*134232+10+$b+10)}
+
+{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
+
+{assign var="foo" value="`$foo+$bar`"}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml
new file mode 100644
index 00000000..cf92c7ff
--- /dev/null
+++ b/docs/de/designers/language-basic-syntax/language-syntax-attributes.xml
@@ -0,0 +1,53 @@
+
+
+
+ Attribute / Parameter
+
+ Die meisten Funktionen nehmen Parameter entgegen, die das
+ Verhalten der Funktion definieren beziehungsweise beeinflussen. Parameter
+ für Smarty Funktionen sind HTML Attributen sehr ähnlich.
+ Statische Werte müssen nicht in Anführungszeichen gesetzt werden,
+ für literale Zeichenketten (literal strings) wird dies jedoch empfohlen.
+
+
+ Bestimmte Parameter verlangen logische Werte (true / false). Diese
+ können auch ohne Anführungszeichen angegeben werden:
+ true, on und yes
+ - oder false, off und no.
+
+
+ Funktions-Parameter Syntax
+
+{include file="header.tpl"}
+
+{include file=$includeFile}
+
+{include file=#includeFile#}
+
+{html_select_date display_days=yes}
+
+<SELECT name=firma>
+{html_options values=$vals selected=$selected output=$output}
+</SELECT>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-basic-syntax/language-syntax-comments.xml b/docs/de/designers/language-basic-syntax/language-syntax-comments.xml
new file mode 100644
index 00000000..a815abb4
--- /dev/null
+++ b/docs/de/designers/language-basic-syntax/language-syntax-comments.xml
@@ -0,0 +1,48 @@
+
+
+
+ Kommentare
+
+ Kommentare werden von Asterisks umschlossen, und mit Trennzeichen umgeben.
+ Beispiel: {* das ist ein Kommentar *}
+ Smarty-Kommentare werden in der Ausgabe nicht dargestellt und vor allem
+ dazu verwendet, die Templates verständlicher aufzubauen.
+
+
+ Kommentare
+
+{* Smarty *}
+
+{* einbinden des Header-Templates *}
+{include file="header.tpl"}
+
+{include file=$includeFile}
+
+{include file=#includeFile#}
+
+{* Ausgabe der drop-down Liste *}
+<SELECT name=firma>
+{html_options values=$vals selected=$selected output=$output}
+</SELECT>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-basic-syntax/language-syntax-functions.xml b/docs/de/designers/language-basic-syntax/language-syntax-functions.xml
new file mode 100644
index 00000000..a310376a
--- /dev/null
+++ b/docs/de/designers/language-basic-syntax/language-syntax-functions.xml
@@ -0,0 +1,53 @@
+
+
+
+ Funktionen
+
+ Jedes Smarty-Tag gibt entweder eine Variable aus
+ oder ruft eine Funktion auf. Funktionen werden aufgerufen indem der Funktionsname
+ und die Parameter mit Trennzeichen umschlossen werden. Beispiel: {funcname attr1="val" attr2="val"}.
+
+
+ Funktions-Syntax
+
+{config_load file="colors.conf"}
+
+{include file="header.tpl"}
+
+{if $highlight_name}
+ Welcome, <font color="{#fontColor#}">{$name}!</font>
+{else}
+ Welcome, {$name}!
+{/if}
+
+{include file="footer.tpl"}
+
+
+ Sowohl der Aufruf von eingebauten, als auch der von eigenen Funktionen folgt der
+ gleichen Syntax. Eingebaute Funktionen erlauben einige Basis-Operationen wie if, section
+ und strip. Diese Funktionen können nicht verändert werden.
+ Individuelle Funktionen die die Fähigkeiten von Smarty erweitern werden als Plugins implementiert.
+ Diese Funktionen können von Ihnen angepasst werden, oder Sie können selbst neue Plugins
+ hinzufügen. html_options und html_select_date sind Beispiele solcher Funktionen.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml
new file mode 100644
index 00000000..b1d02ac8
--- /dev/null
+++ b/docs/de/designers/language-basic-syntax/language-syntax-quotes.xml
@@ -0,0 +1,45 @@
+
+
+
+ Variablen mit Doppelten Anführungszeichen
+
+ Smarty erkennt zugewiesene Variablen mit doppelten Anführungszeichen solange
+ die Variablen nur Zahlen, Buchstaben, Understriche oder Klammern [] enthalten. Mit allen
+ anderen Zeichen wie Punkt, Objekt Referenzen, etc muss die Vairable mit Backticks umschlossen sein.
+
+
+ Syntax von eingebetteten Anfürungszeichen
+
+SYNTAX BEISPIELE:
+{func var="test $foo test"} <-- sieht $foo
+{func var="test $foo_bar test"} <-- sieht $foo_bar
+{func var="test $foo[0] test"} <-- sieht $foo[0]
+{func var="test $foo[bar] test"} <-- sieht $foo[bar]
+{func var="test $foo.bar test"} <-- sieht $foo (nicht $foo.bar)
+{func var="test `$foo.bar` test"} <-- sieht $foo.bar
+
+PRAKTISCHE BEISPIELE:
+{include file="subdir/$tpl_name.tpl"} <-- ersetzt $tpl_name durch wert
+{cycle values="one,two,`$smarty.config.myval`"} <-- muss Backticks enthalten
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions.xml b/docs/de/designers/language-builtin-functions.xml
index 527e6300..bdec22f1 100644
--- a/docs/de/designers/language-builtin-functions.xml
+++ b/docs/de/designers/language-builtin-functions.xml
@@ -7,1427 +7,18 @@
sind integral für die Template-Sprache. Sie können sie weder
verändern noch eigene Funktionen unter selbem Namen erstellen.
-
- capture (Ausgabe abfangen)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Benötigt
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- no
- default
- Der Name des abgefangenen Blocks
-
-
- assign
- string
- No
- n/a
- Der Name der Variable welcher der Wert zugewiesen werden soll.
-
-
-
-
-
- 'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer
- Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und {/capture}
- wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über
- '$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut
- übergeben wurde, wird der Inhalt in 'default' abgelegt.
- Jede {capture} Sektion muss mit {/capture} beendet werden.
- 'capture'-Blöcke können verschachtelt sein.
-
-
- Technische Bemerkung
-
- Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
- Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
- Bitte passen Sie Ihre Templates entsprechend an.
-
-
-
-
- Seien Sie vorsichtig, wenn sie die Ausgabe von insert
- abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
- eingeschaltet ist und Sie einen insert
- Befehl verwenden, um Ausgaben vom Caching auszuschliessen.
-
-
-
-
- Template-Inhalte abfangen
-
-
-{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
-{capture name=banner}
-{include file="get_banner.tpl"}
-{/capture}
-{if $smarty.capture.banner ne ""}
- <tr>
- <td>
- {$smarty.capture.banner}
- </td>
- </tr>
-{/if}
-
-
-
-
- config_load (Konfiguration laden)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- file
- string
- Ja
- n/a
- Definiert den Namen der einzubindenden Datei.
-
-
- section
- string
- Nein
- n/a
- Definiert den Namen des zu ladenden Abschnitts.
-
-
- scope
- string
- Nein
- local
-
- Definiert den Geltungsbereich der zu ladenden Variablen.
- Erlaubte Werte sind 'local','parent' und 'global'. 'local' bedeutet,
- dass die Variablen in den Context des lokalen Template geladen werden.
- 'parent' bedeutet, dass die Variablen sowohl in den lokalen Context,
- als auch in den Context des aufrufenden Templates eingebunden werden.
- 'global' bedeutet, dass die Variablen von allen Templates zugänglich sind.
-
-
-
- global
- boolean
- Nein
- No
-
- DEPRECATED:
- Definiert, ob die Variablen von allen Templates aus zugänglich sind.
- Dieses Attribut wird von 'scope' abgelöst und sollte nicht mehr
- verwendet werden. Falls 'scope' übergeben wurde, wird 'global' ignoriert.
-
-
-
-
-
-
- Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei
- in das Template zu laden. Sehen sie Config Files (Konfigurationsdateien)
- für weitere Informationen.
-
-
-Funktion config_load
-
-
-{config_load file="farben.conf"}
-<html>
-<title>{#seitenTitel#}</title>
-<body bgcolor="{#bodyHintergrundFarbe#}">
-<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
-<tr bgcolor="{#reiheHintergrundFarbe#}">
- <td>Vornamen</td>
- <td>Nachnamen</td>
- <td>Adresse</td>
-</tr>
-</table>
-</body>
-</html>
-
-
- Konfigurationsdateien können Abschnitte enthalten. Um Variablen
- aus einem Abschnitt zu laden, können Sie das Attribut
- section übergeben.
-
-
- Bemerkung: Konfigurationdatei-Abschnitte (sections) und die
- eingebaute Template Funktion namens section haben ausser dem
- Namen nichts gemeinsam.
-
-
-Funktion config_load mit Abschnitten
-
-{config_load file="farben.conf" section="Kunde"}
-<html>
-<title>{#seitenTitel#}</title>
-<body bgcolor="{#bodyHintergrundFarbe#}">
-<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
-<tr bgcolor="{#reiheHintergrundFarbe#}">
- <td>Vornamen</td>
- <td>Nachnamen</td>
- <td>Adresse</td>
-</tr>
-</table>
-</body>
-</html>
-
-
-
- foreach, foreachelse
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- from
- string
- Ja
- n/a
- Name des zu durchlaufenden Array.
-
-
- item
- string
- Ja
- n/a
- Name für das aktuelle Element.
-
-
- key
- string
- Nein
- n/a
- Name für den aktuellen Schlüssel.
-
-
- name
- string
- Nein
- n/a
- Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften.
-
-
-
-
-
- Die foreach Schleife ist eine Alternative zu section.
- foreach wird verwendet, um ein assoziatives Array
- zu durchlaufen. Die Syntax von foreach-Schleifen ist viel einfacher als
- die von section. foreach tags müssen mit /foreach
- tags kombiniert werden. Erforderliche Parameter sind: from und
- item. Der Name der 'foreach'-Schleife kann frei vergeben werden
- und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten.
- foreach-Schleifen können verschachtelt werden, dabei ist
- zu beachten, dass sich die definierten Namen voneinander unterscheiden.
- Die from Variable (normalerweise
- ein assoziatives Array) definiert die Anzahl der von foreach
- zu durchlaufenen Iterationen. foreachelse wird ausgeführt wenn
- keine Werte in der from Variable übergeben wurden.
-
-
-foreach
-
-
-
-
-{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *}
-{foreach from=$KundenId item=aktuelle_id}
- id: {$aktuelle_id}<br>
-{/foreach}
-
-AUSGABE:
-
-id: 1000<br>
-id: 1001<br>
-id: 1002<br>
-
-
-
-foreach key
-
-{* Der Schlüssel enthält den Schlüssel des jeweils iterierten Wertes
-
-die Zuweisung sieht wie folgt aus:
-
-$smarty->assign("kontakte", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
- array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
-
-*}
-
-{foreach name=aussen item=kontakt from=$kontakte}
- {foreach key=schluessel item=wert from=$kontakt}
- {$schluessel}: {$wert}<br>
- {/foreach}
-{/foreach}
-
-AUSGABE:
-
-phone: 1<br>
-fax: 2<br>
-cell: 3<br>
-phone: 555-4444<br>
-fax: 555-3333<br>
-cell: 760-1234<br>
-
-
-
- Foreach-Loops haben auch eigene Variablen welche die Foreach Eigenschaften enthalten.
- Diese werden wie folgt ausgewiesen: {$smarty.foreach.foreachname.varname}. foreachname
- ist der Name der als name Attribut von Foreach übergeben wurden.
-
-
- iteration
-
- gibt die aktuelle iteration aus
-
-
- iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert.
-
-
-
-
- first
-
- first ist TRUE wenn die aktuelle Iteration die erste ist
-
-
-
-
- last
-
- last ist TRUE wenn die aktuelle Iteration die letzte ist
-
-
-
-
- show
-
- show wird als Parameter von foreach verwedet und ist ein boolscher Wert, TRUE oder FALSE. Auf FALSE wird
- nichts ausgegeben und wenn foreachelse gefunden wird, dieser angezeigt.
-
-
-
-
- total
-
- total gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden.
-
-
-
-
-
- include (einbinden)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- file
- string
- Ja
- n/a
- Name der Template-Datei, die eingebunden werden soll.
-
-
- assign
- string
- Nein
- n/a
- Variable, welcher der eingebundene Inhalt zugewiesen werden soll.
-
-
- [var ...]
- [var typ]
- Nein
- n/a
- Variablen welche dem Template lokal übergeben werden sollen.
-
-
-
-
-
- Include Tags werden verwendet, um andere Templates in das aktuelle Template einzubinden.
- Alle Variablen des aktuellen Templates sind auch im eingebundenen Template verfügbar.
- Das include-Tag muss ein 'file' Attribut mit dem Pfad zum einzubindenden
- Template enthalten.
-
-
- Optional kann mit dem assign Attribut definiert werden,
- in welcher Variable die Ausgabe des mit include eingebundenen
- Templates abgelegt werden soll statt sie auszugeben.
-
-
-function include (einbinden)
-
-{include file="header.tpl"}
-
-{* hier kommt der body des Templates *}
-
-{include file="footer.tpl"}
-
-
- Sie können dem einzubindenden Template Variablen
- als Attribute übergeben. Alle explizit übergebenen
- Variablen sind nur im Anwendungsbereich (scope) dieses Template
- verfügbar. Attribut-Variablen überschreiben
- aktuelle Template-Variablen, falls sie den gleichen Namen haben.
-
-
-include-Funktion und Variablen Übergabe
-
-{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"}
-
-{* hier kommt der body des Templates *}
-
-{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
-
-
- Benutzen sie die Syntax von template resources,
- um Templates ausserhalb des '$template_dir' einzubinden:
-
-
-Beispiele für Template-Ressourcen bei der 'include'-Funktion
-
-{* absoluter Dateipfad *}
-{include file="/usr/local/include/templates/header.tpl"}
-
-{* absoluter Dateipfad (gleich) *}
-{include file="file:/usr/local/include/templates/header.tpl"}
-
-{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *}
-{include file="file:C:/www/pub/templates/header.tpl"}
-
-{* einbinden aus Template-Ressource namens 'db' *}
-{include file="db:header.tpl"}
-
-
-
- include_php (PHP-Code einbinden)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- file
- string
- Ja
- n/a
- Der Name der einzubindenden PHP-Datei.
-
-
- once
- boolean
- Nein
- true
- Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.
-
-
- assign
- string
- Nein
- n/a
- Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.
-
-
-
-
-
- include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates
- einzubinden. Falls 'Sicherheit' aktiviert ist,
- muss das einzubindende Skript im '$trusted_dir' Pfad liegen.
- 'include_php' muss das Attribut 'file' übergeben werden,
- das den Pfad - entweder relativ zu '$trusted_dir' oder absolut -
- zum Skript enthält.
-
-
- include_php ist ein einfacher Weg, um modularisierte Templates zu
- verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel
- ein Template für die Seitennavigation, welche direkt
- aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht,
- können sie in einer eigenen Datei ablegen und am
- Anfang Ihres Templates einbinden. Nun können Sie das Template
- überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt
- in die Navigationsstruktur gelangt.
-
-
- Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen,
- selbst wenn es mehrfach eingebunden wird. Sie können dieses
- Verhalten durch die Verwendung des once Attributs
- steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer
- wenn sie eingebunden wird auch neu geladen.
-
-
- Optional kann das assign Attribut übergeben werden.
- Die Ausgabe von include_php wird dann nicht direkt eingefügt,
- sondern in der durch assign benannten Template-Variable abgelegt.
-
-
- Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden.
-
-
-Funktion include_php
-
-lade_nav.php
--------------
-
-<?php
-
-
- // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu
- require_once("MySQL.class.php");
- $sql = new MySQL;
- $sql->query("select * from site_nav_sections order by name",SQL_ALL);
- $this->assign($sections,$sql->record);
-
-?>
-
-
-index.tpl
----------
-
-
-{* absoluter Pfad, oder relativ zu '$trusted_dir' *}
-{include_php file="/pfad/zu/lade_nav.php"}
-
-{foreach item=$aktuelle_section from=$sections}
- <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br>
-{/foreach}
-
-
-
- insert (einfügen)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Ja
- n/a
- Der Name der Insert-Funktion
-
-
- assign
- string
- Nein
- n/a
- Name der Template-Variable, in der die Ausgabe der 'insert'-Funktion optional abgelegt wird.
-
-
- script
- string
- Nein
- n/a
- Name des PHP-Skriptes, das vor Aufruf der 'insert'-Funktion eingebunden werden soll.
-
-
- [var ...]
- [var typ]
- Nein
- n/a
- Variablen die der 'insert'-Funktion übergeben werden sollen.
-
-
-
-
-
- 'insert'-Tags funktionieren ähnlich den 'include'-Tags,
- werden aber nicht gecached, falls caching
- eingeschaltet ist. Sie werden bei jedem Aufruf des Templates ausgeführt.
-
-
- Stellen Sie sich vor, sie hätten ein Template mit einem
- Werbebanner. Dieser Banner kann verschiedene Arten von
- Inhalten haben: Bilder, HTML, Flash, etc.
- Deshalb können wir nicht einfach einen statischen Link
- verwenden und müssen vermeiden, dass dieser Inhalt gecached wird.
- Hier kommt das 'insert'-Tag ins Spiel. Das Template kennt die Variablen
- '#banner_location_id#' und '#site_id#' (zum Beispiel aus einer Konfigurationsdatei)
- und soll eine Funktion aufrufen, die den Inhalt des Banners liefert.
-
-
-Funktion 'insert'
-
-
-{* erzeugen des Banners *}
-{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}
-
-
- In diesem Beispiel verwenden wir die Funktion 'getBanner' und
- übergeben die Parameter '#banner_location_id#' und '#site_id#'.
- Smarty wird daraufhin in Ihrer Applikatiopn nach einer Funktion
- namens 'getBanner' suchen und diese mit den Parametern '#banner_location_id#'
- und '#site_id#' aufrufen. Allen 'insert'-Funktionen in Ihrer Applikation
- muss 'insert_' vorangestellt werden, um Konflikte im Namensraum
- zu vermeiden. Ihre 'insert_getBanner()'-Funktion sollte etwas mit den
- übergebenen Parametern unternehmen und das Resultat zurückgeben.
- Dieses Resultat wird an der Stelle des 'insert'-Tags in Ihrem Template ausgegeben.
- In diesem Beispiel würde Smarty folgende Funktion aufrufen:
- insert_getBanner(array("lid" => "12345","sid" => "67890")) und die erhaltenen Resultate
- an Stelle des 'insert'-Tags ausgeben.
-
-
- Falls Sie das 'assign'-Attribut übergeben, wird die Ausgabe
- des 'insert'-Tags in dieser Variablen abgelegt.
- Bemerkung: dies ist nicht sinnvoll, wenn Caching eingeschaltet ist.
-
-
- Falls Sie das 'script'-Attribut übergeben, wird das angegebene
- PHP-Skript vor der Ausführung der 'insert'-Funktion eingebunden.
- Dies ist nützlich, um die 'insert'-Funktion erst in diesem
- Skript zu definieren.
- Der Pfad kann absolut oder relativ zu '$trusted_dir' angegeben werden.
- Wenn Sicherheit eingeschaltet ist, muss das Skript in '$trusted_dir'
- liegen.
-
-
- Als zweites Argument wird der 'insert'-Funktion das Smarty-Objekt selbst
- übergeben. Damit kann dort auf die Informationen im Smarty-Objekt
- zugegriffen werden.
-
-
- Technische Bemerkung
-
- Es gibt die Möglichkeit, Teile des Templates nicht zu cachen.
- Wenn Sie caching eingeschaltet haben,
- werden 'insert'-Tags nicht gecached. Sie werden jedesmal ausgeführt, wenn
- die Seite erstellt wird - selbst innerhalb gecachter Seiten. Dies funktioniert
- gut für Dinge wie Werbung (Banner), Abstimmungen, Wetterberichte, Such-Resultate, Benutzer-Feedback-Ecke, etc.
-
-
-
-
- if,elseif,else
-
- 'if'-Statements in Smarty erlauben die selbe Flexibilität
- wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine.
- Jedes if muss mit einem /if
- kombiniert sein. else und elseif
- sind ebenfalls erlaubt. "eq", "ne","neq","gt", "lt", "lte", "le", "gte" "ge",
- "is even","is odd", "is noteven","is not odd","not","mod","div by","even by",
- "odd by","==","!=",">", "<","<=",">=" sind alles erlaubte Bedingungen,
- und müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden.
-
-
-if Anweisung
-
-
-{* ein Beispiel mit 'eq' (gleich) *}
-{if $name eq "Fred"}
- Willkommen der Herr.
-{elseif $name eq "Wilma"}
- Willkommen die Dame.
-{else}
- Willkommen, was auch immer Du sein magst.
-{/if}
-
-{* ein Beispiel mit 'or'-Logik *}
-{if $name eq "Fred" or $name eq "Wilma"}
- ...
-{/if}
-
-{* das selbe *}
-{if $name == "Fred" || $name == "Wilma"}
- ...
-{/if}
-
-{* die foldende Syntax ist nicht korrekt, da die Elemente welche die
- Bedingung umfassen nicht mit Leerzeichen abgetrennt sind*}
-{if $name=="Fred" || $name=="Wilma"}
- ...
-{/if}
-
-
-
-{* Klammern sind erlaubt *}
-{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
- ...
-{/if}
-
-
-{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *}
-{if count($var) gt 0}
- ...
-{/if}
-
-
-{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *}
-{if $var is even}
- ...
-{/if}
-{if $var is odd}
- ...
-{/if}
-{if $var is not odd}
- ...
-{/if}
-
-
-{* testen ob eine Zahl durch 4 teilbar ist (div by) *}
-{if $var is div by 4}
- ...
-{/if}
-
-
-{* testen ob eine Variable gerade ist, gruppiert nach 2
- 0=gerade, 1=gerade, 2=ungerade, 3=ungerade, 4=gerade, 5=gerade, etc *}
-{if $var is even by 2}
- ...
-{/if}
-
-{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *}
-{if $var is even by 3}
- ...
-{/if}
-
-
-
- ldelim,rdelim (Ausgabe der Trennzeichen)
-
- ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben -
- in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu
- interpretieren.
-
-
-ldelim, rdelim
-
-
-{* gibt die konfigurierten Trennzeichen des Templates aus *}
-
-{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus!
-
-
-AUSGABE:
-
-{funktionsname} Funktionen sehen in Smarty so aus!
-
-
-
- literal
-
- 'literal'-Tags erlauben es, einen Block wörtlich auszugeben,
- d.h. von der Interpretation durch Smarty auszuschliessen.
- Dies ist vor allem für Javascript- oder andere Blöcke
- nützlich, die geschwungene Klammern verwenden. Alles
- was zwischen den {literal}{/literal} Tags steht, wird direkt
- angezeigt.
-
-literal-Tags
-
-{literal}
- <script language=javascript>
-
- <!--
- function isblank(field) {
- if (field.value == '')
- { return false; }
- else
- {
- document.loginform.submit();
- return true;
- }
- }
- // -->
-
- </script>
-{/literal}
-
-
-
- php
-
- 'php'-Tags erlauben es, PHP-Code direkt in das Template einzubetten. Der Inhalt
- wird nicht 'escaped', egal wie $php_handling
- konfiguriert ist.
- Dieses Tag ist nur für erfahrene Benutzer gedacht und wird
- auch von diesen normalerweise nicht benötigt.
-
-
-php-Tags
-
-{php}
- // php Skript direkt von Template einbinden
- include("/pfad/zu/zeige_weather.php");
-{/php}
-
-
-
- section,sectionelse
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Ja
- n/a
- Der Name der 'section'
-
-
- loop
- [$variable_name]
- Ja
- n/a
- Der Name des Zählers für die Iterationen.
-
-
- start
- integer
- Nein
- 0
-
- Definiert die Startposition. Falls ein negativer Wert übergeben wird,
- berechnet sich die Startposition ausgehend vom Ende des Arrays. Wenn zum Beispiel
- 7 Werte in einem Array enthalten sind und die Startposition -2 ist, ist die
- berechnete Startposition 5. Unerlaubte Werte (Werte ausserhalb der Grösse des
- Arrays) werden automatisch auf den nächstmöglichen Wert gesetzt.
-
-
- step
- integer
- Nein
- 1
-
- Definiert die Schrittweite mit welcher das Array durchlaufen wird.
- 'step=2' iteriert durch 0, 2, 4, etc. Wenn ein negativer Wert übergeben wurde,
- wird das Array rückwärts durchlaufen.
-
-
-
- max
- integer
- Nein
- 1
- Maximale Anzahl an Iterationen, die Durchlaufen werden.
-
-
- show
- boolean
- Nein
- true
- Definiert ob diese 'section' angezeigt werden soll oder nicht.
-
-
-
-
-
- Template-'sections' werden verwendet, um durch Arrays zu iterieren.
- Jedes section-Tag muss mit einem /section-Tag
- kombiniert werden. name und loop sind erforderliche
- Parameter. Der Name der 'section' kann frei gewählt werden, muss jedoch aus Buchstaben,
- Zahlen oder Unterstrichen bestehen. 'sections' können verschachtelt werden. Dabei ist
- zu beachten, dass sich ihre Namen unterscheiden. Aus der 'loop'-Variable (normalerweise ein
- Array von Werten) resultiert die Anzahl der Iterationen, die durchlaufen werden.
- Wenn ein Wert aus der 'loop'-Variable innerhalb der 'section' ausgegeben werden soll,
- muss der 'section-name' umschlossen mit [] angefügt werden.
- sectionelse wird ausgeführt, wenn keine Werte in der
- 'loop'-Variable enthalten sind.
-
-
-section
-
-
-
-{* dieses Beispiel gibt alle Werte des $KundenId Arrays aus *}
-{section name=kunde loop=$KundenId}
- id: {$KundenId[kunde]}<br>
-{/section}
-
-AUSGABE:
-
-id: 1000<br>
-id: 1001<br>
-id: 1002<br>
-
-
-
-section loop Variable
-
-{* die 'loop'-Variable definiert nur die Anzahl der Iterationen,
- Sie können in dieser 'section' auf jeden Wert des Templates
- zugreifen. Dieses Beispiel geht davon aus, dass $KundenId, $Namen und
- $Adressen Arrays sind, welche die selbe Anzahl Werte enthalten *}
-{section name=kunde loop=$KundenId}
- id: {$KundenId[kunde]}<br>
- name: {$Namen[kunde]}<br>
- address: {$Adressen[kunde]}<br>
- <p>
-{/section}
-
-
-AUSGABE:
-
-id: 1000<br>
-name: Peter Müller <br>
-adresse: 253 N 45th<br>
-<p>
-id: 1001<br>
-name: Fritz Muster<br>
-adresse:: 417 Mulberry ln<br>
-<p>
-id: 1002<br>
-name: Hans Meier<br>
-adresse:: 5605 apple st<br>
-<p>
-
-
-
-section names
-
-{* die 'name'-Variable definiert den Namen der verwendet werden soll,
- um Daten aus dieser 'section' zu referenzieren *}
-{section name=meinedaten loop=$KundenId}
- id: {$KundenId[meinedaten]}<br>
- name: {$Namen[meinedaten]}<br>
- address: {$Adressen[meinedaten]}<br>
- <p>
-{/section}
-
-
-
-nested sections (verschachtelte 'sections')
-
-{* Sections können unbegrenzt tief verschachtelt werden.
- Mit verschachtelten 'sections' können Sie auf komplexe Datenstrukturen
- zugreifen (wie zum Beispiel multidimensionale Arrays). Im folgenden Beispiel
- ist $contact_type[customer] ein Array mit Kontakttypen des aktuellen Kunden. *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
- name: {$name[customer]}<br>
- address: {$address[customer]}<br>
- {section name=contact loop=$contact_type[customer]}
- {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
- {/section}
- <p>
-{/section}
-
-
-AUSGABE:
-
-id: 1000<br>
-name: John Smith<br>
-address: 253 N 45th<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: john@mydomain.com<br>
-<p>
-id: 1001<br>
-name: Jack Jones<br>
-address: 417 Mulberry ln<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jack@mydomain.com<br>
-<p>
-id: 1002<br>
-name: Jane Munson<br>
-address: 5605 apple st<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jane@mydomain.com<br>
-<p>
-
-
-
-sections und assoziative Arrays
-
-{* Dies ist ein Beispiel wie man einen assoziativen Array
- in einer 'section' ausgeben kann.*}
-{section name=customer loop=$contacts}
- name: {$contacts[customer].name}<br>
- home: {$contacts[customer].home}<br>
- cell: {$contacts[customer].cell}<br>
- e-mail: {$contacts[customer].email}<p>
-{/section}
-
-{* Anm. d. übersetzers: Oft ist die Anwendung von 'foreach' kürzer. *}
-
-{foreach item=customer from=$contacts}
- name: {$customer.name}<br>
- home: {$customer.home}<br>
- cell: {$customer.cell}<br>
- e-mail: {$customer.email}<p>
-{/foreach}
-
-
-AUSGABE:
-
-name: John Smith<br>
-home: 555-555-5555<br>
-cell: 555-555-5555<br>
-e-mail: john@mydomain.com<p>
-name: Jack Jones<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jack@mydomain.com<p>
-name: Jane Munson<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jane@mydomain.com<p>
-
-
-
-
-
-sectionelse
-
-{* sectionelse wird aufgerufen, wenn keine $custid Werte vorhanden sind *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
-{sectionelse}
- keine Werte in $custid gefunden
-{/section}
-
-
- Die Eigenschaften der 'section' werden in besonderen Variablen abgelegt.
- Diese sind wie folgt aufgebaut: {$smarty.section.sectionname.varname}
-
-
- Bermerkung: Seit Smarty 1.5.0 hat sich die Syntax der 'section' Eigenschaften
- von {%sectionname.varname%} zu {$smarty.section.sectionname.varname} geändert.
- Die alte Syntax wird noch immer unterstützt, die Dokumentation erwähnt
- jedoch nur noch die neue Schreibweise.
-
-
- index
-
- 'index' wird verwendet, um den aktuellen Schleifen-Index anzuzeigen. Er startet
- bei 0 (beziehungsweise der definierten Startposition) und inkrementiert in 1-er Schritten
- (beziehungsweise der definierten Schrittgrösse).
-
-
- Technische Bemerkung
-
- Wenn 'step' und 'start' nicht übergeben werden, verhält sich
- der Wert wie die 'section'-Eigenschaft 'iteration', ausser dass
- er bei 0 anstatt 1 beginnt.
-
-
-
- 'section'-Eigenschaft 'index'
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
-
- AUSGABE:
-
- 0 id: 1000<br>
- 1 id: 1001<br>
- 2 id: 1002<br>
-
-
-
-
- index_prev
-
- 'index_prev' wird verwendet um den vorhergehenden Schleifen-Index
- auszugeben. Bei der ersten Iteration ist dieser Wert -1.
-
-
- section'-Eigenschaft 'index_prev'
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *}
- {if $custid[customer.index_prev] ne $custid[customer.index]}
- Die Kundennummer hat sich geändert.<br>
- {/if}
- {/section}
-
-
- AUSGABE:
-
- 0 id: 1000<br>
- Die Kundennummer hat sich geändert.<br>
- 1 id: 1001<br>
- Die Kundennummer hat sich geändert.<br>
- 2 id: 1002<br>
- Die Kundennummer hat sich geändert.<br>
-
-
-
-
- index_next
-
- 'index_next' wird verwendet um den nächsten 'loop'-Index
- auszugeben. Bei der letzten Iteration ist dieser Wert um 1 grösser
- als der aktuelle 'loop'-Index (inklusive dem definierten 'step' Wert).
-
-
- section'-Eigenschaft 'index_next'
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *}
- {if $custid[customer.index_next] ne $custid[customer.index]}
- Die Kundennummer wird sich ändern.<br>
- {/if}
- {/section}
-
-
- AUSGABE:
-
- 0 id: 1000<br>
- Die Kundennummer wird sich ändern.<br>
- 1 id: 1001<br>
- Die Kundennummer wird sich ändern.<br>
- 2 id: 1002<br>
- Die Kundennummer wird sich ändern.<br>
-
-
-
-
- iteration
-
- 'iteration' wird verwendet um die aktuelle Iteration auszugeben.
-
-
- Bemerkung: Die Eigenschaften 'start', 'step' und 'max' beeinflussen 'iteration'
- nicht, die Eigenschaft 'index' jedoch schon. 'iteration' startet im gegensatz
- zu 'index' bei 1. 'rownum' ist ein Alias für 'iteration' und arbeitet identisch.
-
-
- 'section'-Eigenschaft 'iteration'
-
- {section name=customer loop=$custid start=5 step=2}
- aktuelle loop iteration: {$smarty.section.customer.iteration}<br>
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das gleiche *}
- {if $custid[customer.index_next] ne $custid[customer.index]}
- Die Kundennummer wird sich ändern.<br>
- {/if}
- {/section}
-
-
- AUSGABE:
-
- aktuelle loop iteration: 1
- 5 id: 1000<br>
- Die Kundennummer wird sich ändern.<br>
- aktuelle loop iteration: 2
- 7 id: 1001<br>
- Die Kundennummer wird sich ändern.<br>
- aktuelle loop iteration: 3
- 9 id: 1002<br>
- Die Kundennummer wird sich ändern.<br>
-
-
-
-
- first
-
-
- 'first' ist 'true', wenn die aktuelle Iteration die erste dieser 'section' ist.
-
-
- 'section'-Eigenschaft 'first'
-
- {section name=customer loop=$custid}
- {if $smarty.section.customer.first}
- <table>
- {/if}
-
- <tr><td>{$smarty.section.customer.index} id:
- {$custid[customer]}</td></tr>
-
- {if $smarty.section.customer.last}
- </table>
- {/if}
- {/section}
-
-
- AUSGABE:
-
- <table>
- <tr><td>0 id: 1000</td></tr>
- <tr><td>1 id: 1001</td></tr>
- <tr><td>2 id: 1002</td></tr>
- </table>
-
-
-
-
- last
-
-
- 'last' ist 'true' wenn die aktuelle Iteration die letzte dieser 'section' ist.
-
-
- 'section'-Eigenschaft 'last'
-
- {section name=customer loop=$custid}
- {if $smarty.section.customer.first}
- <table>
- {/if}
-
- <tr><td>{$smarty.section.customer.index} id:
- {$custid[customer]}</td></tr>
-
- {if $smarty.section.customer.last}
- </table>
- {/if}
- {/section}
-
-
- AUSGABE:
-
- <table>
- <tr><td>0 id: 1000</td></tr>
- <tr><td>1 id: 1001</td></tr>
- <tr><td>2 id: 1002</td></tr>
- </table>
-
-
-
-
- rownum
-
- 'rownum' wird verwendet um die aktuelle Iteration (startend bei 1) auszugeben.
- 'rownum' ist ein Alias für 'iteration' und arbeitet identisch.
-
-
- 'section'-Eigenschaft 'rownum'
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
- {/section}
-
-
- AUSGABE:
-
- 1 id: 1000<br>
- 2 id: 1001<br>
- 3 id: 1002<br>
-
-
-
-
- loop
-
- 'loop' wird verwendet, um die Nummer letzte Iteration der 'section' auszugeben.
- Dieser Wert kann inner- und ausserhalb der 'section' verwendet werden.
-
-
- 'section'-Eigenschaft 'loop'
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
- Es wurden {$smarty.section.customer.loop} Kunden angezeigt.
-
- AUSGABE:
-
- 0 id: 1000<br>
- 1 id: 1001<br>
- 2 id: 1002<br>
-
- Es wurden 3 Kunden angezeigt.
-
-
-
-
- show
-
- show kann die Werte 'true' oder 'false' haben.
- Falls der Wert 'true' ist, wird die 'section' angezeigt. Falls
- der Wert 'false' ist, wird die 'section' - ausser dem 'sectionelse' - nicht ausgegeben.
-
-
- 'section'-Eigenschaft 'show'
-
- {section name=customer loop=$custid show=$show_customer_info}
- {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
- {/section}
-
- {if $smarty.section.customer.show}
- die 'section' wurde angezeigt
- {else}
- die 'section' wurde nicht angezeigt
- {/if}
-
-
- AUSGABE:
-
- 1 id: 1000<br>
- 2 id: 1001<br>
- 3 id: 1002<br>
-
- die 'section' wurde angezeigt
-
-
-
-
- total
-
- Wird verwendet um die Anzahl der durchlaufenen Iterationen einer
- 'section' auszugeben. Kann innerhalb oder ausserhalb der 'section' verwendet
- werden.
-
-
- 'section'-Eigenschaft 'total'
-
- {section name=customer loop=$custid step=2}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
- Es wurden {$smarty.section.customer.total} Kunden angezeigt.
-
- OUTPUT:
-
- 0 id: 1000<br>
- 2 id: 1001<br>
- 4 id: 1002<br>
-
- Es wurden 3 Kunden angezeigt.
-
-
-
-
-
- strip
-
- Webdesigner haben oft das Problem, dass Leerzeichen und Zeilenumbrüche
- die Ausgabe des erzeugten HTML im Browser beeinflussen. Oft werden deshalb alle
- Tags aufeinanderfolgend im Template notiert, was aber zu einer schlechten
- Lesbarkeit führt.
-
-
- Aus dem Inhalt zwischen den {strip}{/strip}-Tags werden alle Leerzeichen und
- Zeilenumbrüche entfernt. So können Sie Ihre Templates lesbar
- halten, ohne sich Sorgen um die Leerzeichen zu machen.
-
-
- Technische Bemerkung
-
- {strip}{/strip} ändert nicht den Inhalt einer Template-Variablen.
- Dafür gibt es den strip Modifikator.
-
-
-
-strip tags
-
-
-{* der folgende Inhalt wird in einer Zeile ausgegeben *}
-{strip}
-<table border=0>
- <tr>
- <td>
- <A HREF="{$url}">
- <font color="red">Das ist ein Test.</font>
- </A>
- </td>
- </tr>
-</table>
-{/strip}
-
-
-AUSGABE:
-
-<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">Das ist ein Test.</font></A></td></tr></table>
-
-
- Achtung: im obigen Beispiel beginnen und enden alle Zeilen mit HTML-Tags.
- Falls Sie Abschnitte haben, die nur Text enthalten, werden diese ebenfalls
- zusammengeschlossen. Das kann zu unerwünschten Resultaten führen.
-
-
+&designers.language-builtin-functions.language-function-capture;
+&designers.language-builtin-functions.language-function-config-load;
+&designers.language-builtin-functions.language-function-foreach;
+&designers.language-builtin-functions.language-function-include;
+&designers.language-builtin-functions.language-function-include-php;
+&designers.language-builtin-functions.language-function-insert;
+&designers.language-builtin-functions.language-function-if;
+&designers.language-builtin-functions.language-function-ldelim;
+&designers.language-builtin-functions.language-function-literal;
+&designers.language-builtin-functions.language-function-php;
+&designers.language-builtin-functions.language-function-section;
+&designers.language-builtin-functions.language-function-strip;
+
+ capture (Ausgabe abfangen)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Benötigt
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ no
+ default
+ Der Name des abgefangenen Blocks
+
+
+ assign
+ string
+ No
+ n/a
+ Der Name der Variable welcher der Wert zugewiesen werden soll.
+
+
+
+
+
+ 'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer
+ Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und {/capture}
+ wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über
+ '$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut
+ übergeben wurde, wird der Inhalt in 'default' abgelegt.
+ Jede {capture} Sektion muss mit {/capture} beendet werden.
+ 'capture'-Blöcke können verschachtelt sein.
+
+
+ Technische Bemerkung
+
+ Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
+ Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
+ Bitte passen Sie Ihre Templates entsprechend an.
+
+
+
+
+ Seien Sie vorsichtig, wenn sie die Ausgabe von insert
+ abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
+ eingeschaltet ist und Sie einen insert
+ Befehl verwenden, um Ausgaben vom Caching auszuschliessen.
+
+
+
+
+ Template-Inhalte abfangen
+
+
+{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
+{capture name=banner}
+{include file="get_banner.tpl"}
+{/capture}
+{if $smarty.capture.banner ne ""}
+ <tr>
+ <td>
+ {$smarty.capture.banner}
+ </td>
+ </tr>
+{/if}
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-config-load.xml b/docs/de/designers/language-builtin-functions/language-function-config-load.xml
new file mode 100644
index 00000000..cda57fcf
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-config-load.xml
@@ -0,0 +1,135 @@
+
+
+
+ config_load (Konfiguration laden)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ file
+ string
+ Ja
+ n/a
+ Definiert den Namen der einzubindenden Datei.
+
+
+ section
+ string
+ Nein
+ n/a
+ Definiert den Namen des zu ladenden Abschnitts.
+
+
+ scope
+ string
+ Nein
+ local
+
+ Definiert den Geltungsbereich der zu ladenden Variablen.
+ Erlaubte Werte sind 'local','parent' und 'global'. 'local' bedeutet,
+ dass die Variablen in den Context des lokalen Template geladen werden.
+ 'parent' bedeutet, dass die Variablen sowohl in den lokalen Context,
+ als auch in den Context des aufrufenden Templates eingebunden werden.
+ 'global' bedeutet, dass die Variablen von allen Templates zugänglich sind.
+
+
+
+ global
+ boolean
+ Nein
+ No
+
+ DEPRECATED:
+ Definiert, ob die Variablen von allen Templates aus zugänglich sind.
+ Dieses Attribut wird von 'scope' abgelöst und sollte nicht mehr
+ verwendet werden. Falls 'scope' übergeben wurde, wird 'global' ignoriert.
+
+
+
+
+
+
+ Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei
+ in das Template zu laden. Sehen sie Config Files (Konfigurationsdateien)
+ für weitere Informationen.
+
+
+Funktion config_load
+
+
+{config_load file="farben.conf"}
+<html>
+<title>{#seitenTitel#}</title>
+<body bgcolor="{#bodyHintergrundFarbe#}">
+<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
+<tr bgcolor="{#reiheHintergrundFarbe#}">
+ <td>Vornamen</td>
+ <td>Nachnamen</td>
+ <td>Adresse</td>
+</tr>
+</table>
+</body>
+</html>
+
+
+ Konfigurationsdateien können Abschnitte enthalten. Um Variablen
+ aus einem Abschnitt zu laden, können Sie das Attribut
+ section übergeben.
+
+
+ Bemerkung: Konfigurationdatei-Abschnitte (sections) und die
+ eingebaute Template Funktion namens section haben ausser dem
+ Namen nichts gemeinsam.
+
+
+Funktion config_load mit Abschnitten
+
+{config_load file="farben.conf" section="Kunde"}
+<html>
+<title>{#seitenTitel#}</title>
+<body bgcolor="{#bodyHintergrundFarbe#}">
+<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
+<tr bgcolor="{#reiheHintergrundFarbe#}">
+ <td>Vornamen</td>
+ <td>Nachnamen</td>
+ <td>Adresse</td>
+</tr>
+</table>
+</body>
+</html>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-foreach.xml b/docs/de/designers/language-builtin-functions/language-function-foreach.xml
new file mode 100644
index 00000000..32ec29e1
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-foreach.xml
@@ -0,0 +1,178 @@
+
+
+
+ foreach, foreachelse
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ from
+ string
+ Ja
+ n/a
+ Name des zu durchlaufenden Array.
+
+
+ item
+ string
+ Ja
+ n/a
+ Name für das aktuelle Element.
+
+
+ key
+ string
+ Nein
+ n/a
+ Name für den aktuellen Schlüssel.
+
+
+ name
+ string
+ Nein
+ n/a
+ Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften.
+
+
+
+
+
+ Die foreach Schleife ist eine Alternative zu section.
+ foreach wird verwendet, um ein assoziatives Array
+ zu durchlaufen. Die Syntax von foreach-Schleifen ist viel einfacher als
+ die von section. foreach tags müssen mit /foreach
+ tags kombiniert werden. Erforderliche Parameter sind: from und
+ item. Der Name der 'foreach'-Schleife kann frei vergeben werden
+ und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten.
+ foreach-Schleifen können verschachtelt werden, dabei ist
+ zu beachten, dass sich die definierten Namen voneinander unterscheiden.
+ Die from Variable (normalerweise
+ ein assoziatives Array) definiert die Anzahl der von foreach
+ zu durchlaufenen Iterationen. foreachelse wird ausgeführt wenn
+ keine Werte in der from Variable übergeben wurden.
+
+
+foreach
+
+
+
+
+{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *}
+{foreach from=$KundenId item=aktuelle_id}
+ id: {$aktuelle_id}<br>
+{/foreach}
+
+AUSGABE:
+
+id: 1000<br>
+id: 1001<br>
+id: 1002<br>
+
+
+
+foreach key
+
+{* Der Schlüssel enthält den Schlüssel des jeweils iterierten Wertes
+
+die Zuweisung sieht wie folgt aus:
+
+$smarty->assign("kontakte", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
+ array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
+
+*}
+
+{foreach name=aussen item=kontakt from=$kontakte}
+ {foreach key=schluessel item=wert from=$kontakt}
+ {$schluessel}: {$wert}<br>
+ {/foreach}
+{/foreach}
+
+AUSGABE:
+
+phone: 1<br>
+fax: 2<br>
+cell: 3<br>
+phone: 555-4444<br>
+fax: 555-3333<br>
+cell: 760-1234<br>
+
+
+
+ Foreach-Loops haben auch eigene Variablen welche die Foreach Eigenschaften enthalten.
+ Diese werden wie folgt ausgewiesen: {$smarty.foreach.foreachname.varname}. foreachname
+ ist der Name der als name Attribut von Foreach übergeben wurden.
+
+
+ iteration
+
+ gibt die aktuelle iteration aus
+
+
+ iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert.
+
+
+
+
+ first
+
+ first ist TRUE wenn die aktuelle Iteration die erste ist
+
+
+
+
+ last
+
+ last ist TRUE wenn die aktuelle Iteration die letzte ist
+
+
+
+
+ show
+
+ show wird als Parameter von foreach verwedet und ist ein boolscher Wert, TRUE oder FALSE. Auf FALSE wird
+ nichts ausgegeben und wenn foreachelse gefunden wird, dieser angezeigt.
+
+
+
+
+ total
+
+ total gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-if.xml b/docs/de/designers/language-builtin-functions/language-function-if.xml
new file mode 100644
index 00000000..a17d275a
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-if.xml
@@ -0,0 +1,107 @@
+
+
+
+ if,elseif,else
+
+ 'if'-Statements in Smarty erlauben die selbe Flexibilität
+ wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine.
+ Jedes if muss mit einem /if
+ kombiniert sein. else und elseif
+ sind ebenfalls erlaubt. "eq", "ne","neq","gt", "lt", "lte", "le", "gte" "ge",
+ "is even","is odd", "is noteven","is not odd","not","mod","div by","even by",
+ "odd by","==","!=",">", "<","<=",">=" sind alles erlaubte Bedingungen,
+ und müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden.
+
+
+if Anweisung
+
+
+{* ein Beispiel mit 'eq' (gleich) *}
+{if $name eq "Fred"}
+ Willkommen der Herr.
+{elseif $name eq "Wilma"}
+ Willkommen die Dame.
+{else}
+ Willkommen, was auch immer Du sein magst.
+{/if}
+
+{* ein Beispiel mit 'or'-Logik *}
+{if $name eq "Fred" or $name eq "Wilma"}
+ ...
+{/if}
+
+{* das selbe *}
+{if $name == "Fred" || $name == "Wilma"}
+ ...
+{/if}
+
+{* die foldende Syntax ist nicht korrekt, da die Elemente welche die
+ Bedingung umfassen nicht mit Leerzeichen abgetrennt sind*}
+{if $name=="Fred" || $name=="Wilma"}
+ ...
+{/if}
+
+
+
+{* Klammern sind erlaubt *}
+{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
+ ...
+{/if}
+
+
+{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *}
+{if count($var) gt 0}
+ ...
+{/if}
+
+
+{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *}
+{if $var is even}
+ ...
+{/if}
+{if $var is odd}
+ ...
+{/if}
+{if $var is not odd}
+ ...
+{/if}
+
+
+{* testen ob eine Zahl durch 4 teilbar ist (div by) *}
+{if $var is div by 4}
+ ...
+{/if}
+
+
+{* testen ob eine Variable gerade ist, gruppiert nach 2
+ 0=gerade, 1=gerade, 2=ungerade, 3=ungerade, 4=gerade, 5=gerade, etc *}
+{if $var is even by 2}
+ ...
+{/if}
+
+{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *}
+{if $var is even by 3}
+ ...
+{/if}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-include-php.xml b/docs/de/designers/language-builtin-functions/language-function-include-php.xml
new file mode 100644
index 00000000..6f27c778
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-include-php.xml
@@ -0,0 +1,128 @@
+
+
+
+ include_php (PHP-Code einbinden)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ file
+ string
+ Ja
+ n/a
+ Der Name der einzubindenden PHP-Datei.
+
+
+ once
+ boolean
+ Nein
+ true
+ Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.
+
+
+
+
+
+ include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates
+ einzubinden. Falls 'Sicherheit' aktiviert ist,
+ muss das einzubindende Skript im '$trusted_dir' Pfad liegen.
+ 'include_php' muss das Attribut 'file' übergeben werden,
+ das den Pfad - entweder relativ zu '$trusted_dir' oder absolut -
+ zum Skript enthält.
+
+
+ include_php ist ein einfacher Weg, um modularisierte Templates zu
+ verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel
+ ein Template für die Seitennavigation, welche direkt
+ aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht,
+ können sie in einer eigenen Datei ablegen und am
+ Anfang Ihres Templates einbinden. Nun können Sie das Template
+ überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt
+ in die Navigationsstruktur gelangt.
+
+
+ Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen,
+ selbst wenn es mehrfach eingebunden wird. Sie können dieses
+ Verhalten durch die Verwendung des once Attributs
+ steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer
+ wenn sie eingebunden wird auch neu geladen.
+
+
+ Optional kann das assign Attribut übergeben werden.
+ Die Ausgabe von include_php wird dann nicht direkt eingefügt,
+ sondern in der durch assign benannten Template-Variable abgelegt.
+
+
+ Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden.
+
+
+Funktion include_php
+
+lade_nav.php
+-------------
+
+<?php
+
+
+ // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu
+ require_once("MySQL.class.php");
+ $sql = new MySQL;
+ $sql->query("select * from site_nav_sections order by name",SQL_ALL);
+ $this->assign($sections,$sql->record);
+
+?>
+
+
+index.tpl
+---------
+
+
+{* absoluter Pfad, oder relativ zu '$trusted_dir' *}
+{include_php file="/pfad/zu/lade_nav.php"}
+
+{foreach item=$aktuelle_section from=$sections}
+ <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br>
+{/foreach}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-include.xml b/docs/de/designers/language-builtin-functions/language-function-include.xml
new file mode 100644
index 00000000..e8d5d824
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-include.xml
@@ -0,0 +1,121 @@
+
+
+
+ include (einbinden)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ file
+ string
+ Ja
+ n/a
+ Name der Template-Datei, die eingebunden werden soll.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Variable, welcher der eingebundene Inhalt zugewiesen werden soll.
+
+
+ [var ...]
+ [var typ]
+ Nein
+ n/a
+ Variablen welche dem Template lokal übergeben werden sollen.
+
+
+
+
+
+ Include Tags werden verwendet, um andere Templates in das aktuelle Template einzubinden.
+ Alle Variablen des aktuellen Templates sind auch im eingebundenen Template verfügbar.
+ Das include-Tag muss ein 'file' Attribut mit dem Pfad zum einzubindenden
+ Template enthalten.
+
+
+ Optional kann mit dem assign Attribut definiert werden,
+ in welcher Variable die Ausgabe des mit include eingebundenen
+ Templates abgelegt werden soll statt sie auszugeben.
+
+
+function include (einbinden)
+
+{include file="header.tpl"}
+
+{* hier kommt der body des Templates *}
+
+{include file="footer.tpl"}
+
+
+ Sie können dem einzubindenden Template Variablen
+ als Attribute übergeben. Alle explizit übergebenen
+ Variablen sind nur im Anwendungsbereich (scope) dieses Template
+ verfügbar. Attribut-Variablen überschreiben
+ aktuelle Template-Variablen, falls sie den gleichen Namen haben.
+
+
+include-Funktion und Variablen Übergabe
+
+{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"}
+
+{* hier kommt der body des Templates *}
+
+{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
+
+
+ Benutzen sie die Syntax von template resources,
+ um Templates ausserhalb des '$template_dir' einzubinden:
+
+
+Beispiele für Template-Ressourcen bei der 'include'-Funktion
+
+{* absoluter Dateipfad *}
+{include file="/usr/local/include/templates/header.tpl"}
+
+{* absoluter Dateipfad (gleich) *}
+{include file="file:/usr/local/include/templates/header.tpl"}
+
+{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *}
+{include file="file:C:/www/pub/templates/header.tpl"}
+
+{* einbinden aus Template-Ressource namens 'db' *}
+{include file="db:header.tpl"}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-insert.xml b/docs/de/designers/language-builtin-functions/language-function-insert.xml
new file mode 100644
index 00000000..d8a5f836
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-insert.xml
@@ -0,0 +1,138 @@
+
+
+
+ insert (einfügen)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Ja
+ n/a
+ Der Name der Insert-Funktion
+
+
+ assign
+ string
+ Nein
+ n/a
+ Name der Template-Variable, in der die Ausgabe der 'insert'-Funktion optional abgelegt wird.
+
+
+ script
+ string
+ Nein
+ n/a
+ Name des PHP-Skriptes, das vor Aufruf der 'insert'-Funktion eingebunden werden soll.
+
+
+ [var ...]
+ [var typ]
+ Nein
+ n/a
+ Variablen die der 'insert'-Funktion übergeben werden sollen.
+
+
+
+
+
+ 'insert'-Tags funktionieren ähnlich den 'include'-Tags,
+ werden aber nicht gecached, falls caching
+ eingeschaltet ist. Sie werden bei jedem Aufruf des Templates ausgeführt.
+
+
+ Stellen Sie sich vor, sie hätten ein Template mit einem
+ Werbebanner. Dieser Banner kann verschiedene Arten von
+ Inhalten haben: Bilder, HTML, Flash, etc.
+ Deshalb können wir nicht einfach einen statischen Link
+ verwenden und müssen vermeiden, dass dieser Inhalt gecached wird.
+ Hier kommt das 'insert'-Tag ins Spiel. Das Template kennt die Variablen
+ '#banner_location_id#' und '#site_id#' (zum Beispiel aus einer Konfigurationsdatei)
+ und soll eine Funktion aufrufen, die den Inhalt des Banners liefert.
+
+
+Funktion 'insert'
+
+
+{* erzeugen des Banners *}
+{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}
+
+
+ In diesem Beispiel verwenden wir die Funktion 'getBanner' und
+ übergeben die Parameter '#banner_location_id#' und '#site_id#'.
+ Smarty wird daraufhin in Ihrer Applikatiopn nach einer Funktion
+ namens 'getBanner' suchen und diese mit den Parametern '#banner_location_id#'
+ und '#site_id#' aufrufen. Allen 'insert'-Funktionen in Ihrer Applikation
+ muss 'insert_' vorangestellt werden, um Konflikte im Namensraum
+ zu vermeiden. Ihre 'insert_getBanner()'-Funktion sollte etwas mit den
+ übergebenen Parametern unternehmen und das Resultat zurückgeben.
+ Dieses Resultat wird an der Stelle des 'insert'-Tags in Ihrem Template ausgegeben.
+ In diesem Beispiel würde Smarty folgende Funktion aufrufen:
+ insert_getBanner(array("lid" => "12345","sid" => "67890")) und die erhaltenen Resultate
+ an Stelle des 'insert'-Tags ausgeben.
+
+
+ Falls Sie das 'assign'-Attribut übergeben, wird die Ausgabe
+ des 'insert'-Tags in dieser Variablen abgelegt.
+ Bemerkung: dies ist nicht sinnvoll, wenn Caching eingeschaltet ist.
+
+
+ Falls Sie das 'script'-Attribut übergeben, wird das angegebene
+ PHP-Skript vor der Ausführung der 'insert'-Funktion eingebunden.
+ Dies ist nützlich, um die 'insert'-Funktion erst in diesem
+ Skript zu definieren.
+ Der Pfad kann absolut oder relativ zu '$trusted_dir' angegeben werden.
+ Wenn Sicherheit eingeschaltet ist, muss das Skript in '$trusted_dir'
+ liegen.
+
+
+ Als zweites Argument wird der 'insert'-Funktion das Smarty-Objekt selbst
+ übergeben. Damit kann dort auf die Informationen im Smarty-Objekt
+ zugegriffen werden.
+
+
+ Technische Bemerkung
+
+ Es gibt die Möglichkeit, Teile des Templates nicht zu cachen.
+ Wenn Sie caching eingeschaltet haben,
+ werden 'insert'-Tags nicht gecached. Sie werden jedesmal ausgeführt, wenn
+ die Seite erstellt wird - selbst innerhalb gecachter Seiten. Dies funktioniert
+ gut für Dinge wie Werbung (Banner), Abstimmungen, Wetterberichte, Such-Resultate, Benutzer-Feedback-Ecke, etc.
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-ldelim.xml b/docs/de/designers/language-builtin-functions/language-function-ldelim.xml
new file mode 100644
index 00000000..5f4145fc
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-ldelim.xml
@@ -0,0 +1,43 @@
+
+
+
+ ldelim,rdelim (Ausgabe der Trennzeichen)
+
+ ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben -
+ in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu
+ interpretieren.
+
+
+ldelim, rdelim
+
+
+{* gibt die konfigurierten Trennzeichen des Templates aus *}
+
+{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus!
+
+
+AUSGABE:
+
+{funktionsname} Funktionen sehen in Smarty so aus!
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-literal.xml b/docs/de/designers/language-builtin-functions/language-function-literal.xml
new file mode 100644
index 00000000..def4fd90
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-literal.xml
@@ -0,0 +1,53 @@
+
+
+
+ literal
+
+ 'literal'-Tags erlauben es, einen Block wörtlich auszugeben,
+ d.h. von der Interpretation durch Smarty auszuschliessen.
+ Dies ist vor allem für Javascript- oder andere Blöcke
+ nützlich, die geschwungene Klammern verwenden. Alles
+ was zwischen den {literal}{/literal} Tags steht, wird direkt
+ angezeigt.
+
+literal-Tags
+
+{literal}
+ <script language=javascript>
+
+ <!--
+ function isblank(field) {
+ if (field.value == '')
+ { return false; }
+ else
+ {
+ document.loginform.submit();
+ return true;
+ }
+ }
+ // -->
+
+ </script>
+{/literal}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-php.xml b/docs/de/designers/language-builtin-functions/language-function-php.xml
new file mode 100644
index 00000000..dac82e39
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-php.xml
@@ -0,0 +1,40 @@
+
+
+
+ php
+
+ 'php'-Tags erlauben es, PHP-Code direkt in das Template einzubetten. Der Inhalt
+ wird nicht 'escaped', egal wie $php_handling
+ konfiguriert ist.
+ Dieses Tag ist nur für erfahrene Benutzer gedacht und wird
+ auch von diesen normalerweise nicht benötigt.
+
+
+php-Tags
+
+{php}
+ // php Skript direkt von Template einbinden
+ include("/pfad/zu/zeige_weather.php");
+{/php}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-section.xml b/docs/de/designers/language-builtin-functions/language-function-section.xml
new file mode 100644
index 00000000..5e32d0da
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-section.xml
@@ -0,0 +1,570 @@
+
+
+
+ section,sectionelse
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Ja
+ n/a
+ Der Name der 'section'
+
+
+ loop
+ [$variable_name]
+ Ja
+ n/a
+ Der Name des Zählers für die Iterationen.
+
+
+ start
+ integer
+ Nein
+ 0
+
+ Definiert die Startposition. Falls ein negativer Wert übergeben wird,
+ berechnet sich die Startposition ausgehend vom Ende des Arrays. Wenn zum Beispiel
+ 7 Werte in einem Array enthalten sind und die Startposition -2 ist, ist die
+ berechnete Startposition 5. Unerlaubte Werte (Werte ausserhalb der Grösse des
+ Arrays) werden automatisch auf den nächstmöglichen Wert gesetzt.
+
+
+ step
+ integer
+ Nein
+ 1
+
+ Definiert die Schrittweite mit welcher das Array durchlaufen wird.
+ 'step=2' iteriert durch 0, 2, 4, etc. Wenn ein negativer Wert übergeben wurde,
+ wird das Array rückwärts durchlaufen.
+
+
+
+ max
+ integer
+ Nein
+ 1
+ Maximale Anzahl an Iterationen, die Durchlaufen werden.
+
+
+ show
+ boolean
+ Nein
+ true
+ Definiert ob diese 'section' angezeigt werden soll oder nicht.
+
+
+
+
+
+ Template-'sections' werden verwendet, um durch Arrays zu iterieren.
+ Jedes section-Tag muss mit einem /section-Tag
+ kombiniert werden. name und loop sind erforderliche
+ Parameter. Der Name der 'section' kann frei gewählt werden, muss jedoch aus Buchstaben,
+ Zahlen oder Unterstrichen bestehen. 'sections' können verschachtelt werden. Dabei ist
+ zu beachten, dass sich ihre Namen unterscheiden. Aus der 'loop'-Variable (normalerweise ein
+ Array von Werten) resultiert die Anzahl der Iterationen, die durchlaufen werden.
+ Wenn ein Wert aus der 'loop'-Variable innerhalb der 'section' ausgegeben werden soll,
+ muss der 'section-name' umschlossen mit [] angefügt werden.
+ sectionelse wird ausgeführt, wenn keine Werte in der
+ 'loop'-Variable enthalten sind.
+
+
+section
+
+
+
+{* dieses Beispiel gibt alle Werte des $KundenId Arrays aus *}
+{section name=kunde loop=$KundenId}
+ id: {$KundenId[kunde]}<br>
+{/section}
+
+AUSGABE:
+
+id: 1000<br>
+id: 1001<br>
+id: 1002<br>
+
+
+
+section loop Variable
+
+{* die 'loop'-Variable definiert nur die Anzahl der Iterationen,
+ Sie können in dieser 'section' auf jeden Wert des Templates
+ zugreifen. Dieses Beispiel geht davon aus, dass $KundenId, $Namen und
+ $Adressen Arrays sind, welche die selbe Anzahl Werte enthalten *}
+{section name=kunde loop=$KundenId}
+ id: {$KundenId[kunde]}<br>
+ name: {$Namen[kunde]}<br>
+ address: {$Adressen[kunde]}<br>
+ <p>
+{/section}
+
+
+AUSGABE:
+
+id: 1000<br>
+name: Peter Müller <br>
+adresse: 253 N 45th<br>
+<p>
+id: 1001<br>
+name: Fritz Muster<br>
+adresse:: 417 Mulberry ln<br>
+<p>
+id: 1002<br>
+name: Hans Meier<br>
+adresse:: 5605 apple st<br>
+<p>
+
+
+
+section names
+
+{* die 'name'-Variable definiert den Namen der verwendet werden soll,
+ um Daten aus dieser 'section' zu referenzieren *}
+{section name=meinedaten loop=$KundenId}
+ id: {$KundenId[meinedaten]}<br>
+ name: {$Namen[meinedaten]}<br>
+ address: {$Adressen[meinedaten]}<br>
+ <p>
+{/section}
+
+
+
+nested sections (verschachtelte 'sections')
+
+{* Sections können unbegrenzt tief verschachtelt werden.
+ Mit verschachtelten 'sections' können Sie auf komplexe Datenstrukturen
+ zugreifen (wie zum Beispiel multidimensionale Arrays). Im folgenden Beispiel
+ ist $contact_type[customer] ein Array mit Kontakttypen des aktuellen Kunden. *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+ name: {$name[customer]}<br>
+ address: {$address[customer]}<br>
+ {section name=contact loop=$contact_type[customer]}
+ {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
+ {/section}
+ <p>
+{/section}
+
+
+AUSGABE:
+
+id: 1000<br>
+name: John Smith<br>
+address: 253 N 45th<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: john@mydomain.com<br>
+<p>
+id: 1001<br>
+name: Jack Jones<br>
+address: 417 Mulberry ln<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jack@mydomain.com<br>
+<p>
+id: 1002<br>
+name: Jane Munson<br>
+address: 5605 apple st<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jane@mydomain.com<br>
+<p>
+
+
+
+sections und assoziative Arrays
+
+{* Dies ist ein Beispiel wie man einen assoziativen Array
+ in einer 'section' ausgeben kann.*}
+{section name=customer loop=$contacts}
+ name: {$contacts[customer].name}<br>
+ home: {$contacts[customer].home}<br>
+ cell: {$contacts[customer].cell}<br>
+ e-mail: {$contacts[customer].email}<p>
+{/section}
+
+{* Anm. d. übersetzers: Oft ist die Anwendung von 'foreach' kürzer. *}
+
+{foreach item=customer from=$contacts}
+ name: {$customer.name}<br>
+ home: {$customer.home}<br>
+ cell: {$customer.cell}<br>
+ e-mail: {$customer.email}<p>
+{/foreach}
+
+
+AUSGABE:
+
+name: John Smith<br>
+home: 555-555-5555<br>
+cell: 555-555-5555<br>
+e-mail: john@mydomain.com<p>
+name: Jack Jones<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jack@mydomain.com<p>
+name: Jane Munson<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jane@mydomain.com<p>
+
+
+
+
+
+sectionelse
+
+{* sectionelse wird aufgerufen, wenn keine $custid Werte vorhanden sind *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+{sectionelse}
+ keine Werte in $custid gefunden
+{/section}
+
+
+ Die Eigenschaften der 'section' werden in besonderen Variablen abgelegt.
+ Diese sind wie folgt aufgebaut: {$smarty.section.sectionname.varname}
+
+
+ Bermerkung: Seit Smarty 1.5.0 hat sich die Syntax der 'section' Eigenschaften
+ von {%sectionname.varname%} zu {$smarty.section.sectionname.varname} geändert.
+ Die alte Syntax wird noch immer unterstützt, die Dokumentation erwähnt
+ jedoch nur noch die neue Schreibweise.
+
+
+ index
+
+ 'index' wird verwendet, um den aktuellen Schleifen-Index anzuzeigen. Er startet
+ bei 0 (beziehungsweise der definierten Startposition) und inkrementiert in 1-er Schritten
+ (beziehungsweise der definierten Schrittgrösse).
+
+
+ Technische Bemerkung
+
+ Wenn 'step' und 'start' nicht übergeben werden, verhält sich
+ der Wert wie die 'section'-Eigenschaft 'iteration', ausser dass
+ er bei 0 anstatt 1 beginnt.
+
+
+
+ 'section'-Eigenschaft 'index'
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+
+ AUSGABE:
+
+ 0 id: 1000<br>
+ 1 id: 1001<br>
+ 2 id: 1002<br>
+
+
+
+
+ index_prev
+
+ 'index_prev' wird verwendet um den vorhergehenden Schleifen-Index
+ auszugeben. Bei der ersten Iteration ist dieser Wert -1.
+
+
+ section'-Eigenschaft 'index_prev'
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *}
+ {if $custid[customer.index_prev] ne $custid[customer.index]}
+ Die Kundennummer hat sich geändert.<br>
+ {/if}
+ {/section}
+
+
+ AUSGABE:
+
+ 0 id: 1000<br>
+ Die Kundennummer hat sich geändert.<br>
+ 1 id: 1001<br>
+ Die Kundennummer hat sich geändert.<br>
+ 2 id: 1002<br>
+ Die Kundennummer hat sich geändert.<br>
+
+
+
+
+ index_next
+
+ 'index_next' wird verwendet um den nächsten 'loop'-Index
+ auszugeben. Bei der letzten Iteration ist dieser Wert um 1 grösser
+ als der aktuelle 'loop'-Index (inklusive dem definierten 'step' Wert).
+
+
+ section'-Eigenschaft 'index_next'
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das selbe *}
+ {if $custid[customer.index_next] ne $custid[customer.index]}
+ Die Kundennummer wird sich ändern.<br>
+ {/if}
+ {/section}
+
+
+ AUSGABE:
+
+ 0 id: 1000<br>
+ Die Kundennummer wird sich ändern.<br>
+ 1 id: 1001<br>
+ Die Kundennummer wird sich ändern.<br>
+ 2 id: 1002<br>
+ Die Kundennummer wird sich ändern.<br>
+
+
+
+
+ iteration
+
+ 'iteration' wird verwendet um die aktuelle Iteration auszugeben.
+
+
+ Bemerkung: Die Eigenschaften 'start', 'step' und 'max' beeinflussen 'iteration'
+ nicht, die Eigenschaft 'index' jedoch schon. 'iteration' startet im gegensatz
+ zu 'index' bei 1. 'rownum' ist ein Alias für 'iteration' und arbeitet identisch.
+
+
+ 'section'-Eigenschaft 'iteration'
+
+ {section name=customer loop=$custid start=5 step=2}
+ aktuelle loop iteration: {$smarty.section.customer.iteration}<br>
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* zur Information, $custid[customer.index] und $custid[customer] bedeuten das gleiche *}
+ {if $custid[customer.index_next] ne $custid[customer.index]}
+ Die Kundennummer wird sich ändern.<br>
+ {/if}
+ {/section}
+
+
+ AUSGABE:
+
+ aktuelle loop iteration: 1
+ 5 id: 1000<br>
+ Die Kundennummer wird sich ändern.<br>
+ aktuelle loop iteration: 2
+ 7 id: 1001<br>
+ Die Kundennummer wird sich ändern.<br>
+ aktuelle loop iteration: 3
+ 9 id: 1002<br>
+ Die Kundennummer wird sich ändern.<br>
+
+
+
+
+ first
+
+
+ 'first' ist 'true', wenn die aktuelle Iteration die erste dieser 'section' ist.
+
+
+ 'section'-Eigenschaft 'first'
+
+ {section name=customer loop=$custid}
+ {if $smarty.section.customer.first}
+ <table>
+ {/if}
+
+ <tr><td>{$smarty.section.customer.index} id:
+ {$custid[customer]}</td></tr>
+
+ {if $smarty.section.customer.last}
+ </table>
+ {/if}
+ {/section}
+
+
+ AUSGABE:
+
+ <table>
+ <tr><td>0 id: 1000</td></tr>
+ <tr><td>1 id: 1001</td></tr>
+ <tr><td>2 id: 1002</td></tr>
+ </table>
+
+
+
+
+ last
+
+
+ 'last' ist 'true' wenn die aktuelle Iteration die letzte dieser 'section' ist.
+
+
+ 'section'-Eigenschaft 'last'
+
+ {section name=customer loop=$custid}
+ {if $smarty.section.customer.first}
+ <table>
+ {/if}
+
+ <tr><td>{$smarty.section.customer.index} id:
+ {$custid[customer]}</td></tr>
+
+ {if $smarty.section.customer.last}
+ </table>
+ {/if}
+ {/section}
+
+
+ AUSGABE:
+
+ <table>
+ <tr><td>0 id: 1000</td></tr>
+ <tr><td>1 id: 1001</td></tr>
+ <tr><td>2 id: 1002</td></tr>
+ </table>
+
+
+
+
+ rownum
+
+ 'rownum' wird verwendet um die aktuelle Iteration (startend bei 1) auszugeben.
+ 'rownum' ist ein Alias für 'iteration' und arbeitet identisch.
+
+
+ 'section'-Eigenschaft 'rownum'
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
+ {/section}
+
+
+ AUSGABE:
+
+ 1 id: 1000<br>
+ 2 id: 1001<br>
+ 3 id: 1002<br>
+
+
+
+
+ loop
+
+ 'loop' wird verwendet, um die Nummer letzte Iteration der 'section' auszugeben.
+ Dieser Wert kann inner- und ausserhalb der 'section' verwendet werden.
+
+
+ 'section'-Eigenschaft 'loop'
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+ Es wurden {$smarty.section.customer.loop} Kunden angezeigt.
+
+ AUSGABE:
+
+ 0 id: 1000<br>
+ 1 id: 1001<br>
+ 2 id: 1002<br>
+
+ Es wurden 3 Kunden angezeigt.
+
+
+
+
+ show
+
+ show kann die Werte 'true' oder 'false' haben.
+ Falls der Wert 'true' ist, wird die 'section' angezeigt. Falls
+ der Wert 'false' ist, wird die 'section' - ausser dem 'sectionelse' - nicht ausgegeben.
+
+
+ 'section'-Eigenschaft 'show'
+
+ {section name=customer loop=$custid show=$show_customer_info}
+ {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
+ {/section}
+
+ {if $smarty.section.customer.show}
+ die 'section' wurde angezeigt
+ {else}
+ die 'section' wurde nicht angezeigt
+ {/if}
+
+
+ AUSGABE:
+
+ 1 id: 1000<br>
+ 2 id: 1001<br>
+ 3 id: 1002<br>
+
+ die 'section' wurde angezeigt
+
+
+
+
+ total
+
+ Wird verwendet um die Anzahl der durchlaufenen Iterationen einer
+ 'section' auszugeben. Kann innerhalb oder ausserhalb der 'section' verwendet
+ werden.
+
+
+ 'section'-Eigenschaft 'total'
+
+ {section name=customer loop=$custid step=2}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+ Es wurden {$smarty.section.customer.total} Kunden angezeigt.
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ 2 id: 1001<br>
+ 4 id: 1002<br>
+
+ Es wurden 3 Kunden angezeigt.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-builtin-functions/language-function-strip.xml b/docs/de/designers/language-builtin-functions/language-function-strip.xml
new file mode 100644
index 00000000..87e7fd4e
--- /dev/null
+++ b/docs/de/designers/language-builtin-functions/language-function-strip.xml
@@ -0,0 +1,70 @@
+
+
+
+ strip
+
+ Webdesigner haben oft das Problem, dass Leerzeichen und Zeilenumbrüche
+ die Ausgabe des erzeugten HTML im Browser beeinflussen. Oft werden deshalb alle
+ Tags aufeinanderfolgend im Template notiert, was aber zu einer schlechten
+ Lesbarkeit führt.
+
+
+ Aus dem Inhalt zwischen den {strip}{/strip}-Tags werden alle Leerzeichen und
+ Zeilenumbrüche entfernt. So können Sie Ihre Templates lesbar
+ halten, ohne sich Sorgen um die Leerzeichen zu machen.
+
+
+ Technische Bemerkung
+
+ {strip}{/strip} ändert nicht den Inhalt einer Template-Variablen.
+ Dafür gibt es den strip Modifikator.
+
+
+
+strip tags
+
+
+{* der folgende Inhalt wird in einer Zeile ausgegeben *}
+{strip}
+<table border=0>
+ <tr>
+ <td>
+ <A HREF="{$url}">
+ <font color="red">Das ist ein Test.</font>
+ </A>
+ </td>
+ </tr>
+</table>
+{/strip}
+
+
+AUSGABE:
+
+<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">Das ist ein Test.</font></A></td></tr></table>
+
+
+ Achtung: im obigen Beispiel beginnen und enden alle Zeilen mit HTML-Tags.
+ Falls Sie Abschnitte haben, die nur Text enthalten, werden diese ebenfalls
+ zusammengeschlossen. Das kann zu unerwünschten Resultaten führen.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions.xml b/docs/de/designers/language-custom-functions.xml
index 4d0683dc..e02d8816 100644
--- a/docs/de/designers/language-custom-functions.xml
+++ b/docs/de/designers/language-custom-functions.xml
@@ -6,2387 +6,24 @@
Smarty wird mit verschiedenen massgeschneiderten Funktionen geliefert, welche Sie in
Ihren Templates verwenden können.
-
- assign (zuweisen)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- var
- string
- Ja
- n/a
- Der Name der zuzuweisenden Variable.
-
-
- value
- string
- Ja
- n/a
- Der zuzuweisende Wert.
-
-
-
-
-
- 'assign' wird verwendet um einer Template-Variable einen Wert zuzuweisen.
-
-
-assign (zuweisen)
-
-{assign var="name" value="Bob"}
-
-Der Wert von $name ist {$name}.
-
-AUSGABE:
-
-Der Wert von $name ist Bob.
-
-
-
- counter (Zähler)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Nein
- default
- Der Name des Zählers.
-
-
- start
- number
- Nein
- 1
- Der Initialwert.
-
-
- skip
- number
- Nein
- 1
- Der Interval.
-
-
- direction
- string
- Nein
- up
- Die Richtung (up/down).
-
-
- print
- boolean
- Nein
- true
- Definiert ob der Wert ausgegeben werden soll.
-
-
- assign
- string
- Nein
- n/a
- Die Template-Variable welcher der Wert zugewiesen werden soll.
-
-
-
-
-
- 'counter' wird verwendet um eine Zahlenreihe auszugeben. Sie können
- den Initialwert bestimmen, den Zählinterval, die Richtung in der
- gezählt werden soll und ob der Wert ausgegeben wird. Sie können
- mehrere Zähler gleichzeitig laufen lassen, in dem Sie ihnen einmalige
- Namen geben. Wenn Sie keinen Wert für 'name' übergeben, wird 'default'
- verwendet.
-
-
- Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Zählers
- dieser Template-Variable zugewiesen anstatt ausgegeben zu werden.
-
-
-counter (Zähler)
-
-
-{* initialisieren *}
-{counter start=0 skip=2 print=false}
-
-{counter}<br>
-{counter}<br>
-{counter}<br>
-{counter}<br>
-
-AUSGABE:
-
-2<br>
-4<br>
-6<br>
-8<br>
-
-
-
- cycle (Zyklus)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Nein
- default
- Der Name des Zyklus.
-
-
- values
- mixed
- Ja
- N/A
-
- Die Werte durch die zirkuliert werden soll, entweder als
- Komma separierte Liste (siehe 'delimiter'-Attribut), oder
- als Array.
-
-
-
- print
- boolean
- Nein
- true
- Definiert ob die Werte ausgegeben werden sollen oder nicht.
-
-
- advance
- boolean
- Nein
- true
- Definiert ob der nächste Wert automatisch angesprungen werden soll.
-
-
- delimiter
- string
- Nein
- ,
- Das zu verwendende Trennzeichen.
-
-
- assign
- string
- Nein
- n/a
- Der Name der Template-Variable welcher die Ausgabe zugewiesen werden soll.
-
-
-
-
-
- 'cycle' wird verwendet um durch ein Set von Werten zu zirkulieren.
- Dies vereinfacht die Handhabung von zwei oder mehr Farben in einer
- Tabelle, oder um einen Array zu durchlaufen.
-
-
- Sie können durch mehrere Sets gleichzeitig iterieren, indem
- Sie den Sets einmalige Namen geben.
-
-
- Um den aktuellen Wert nicht auszugeben, kann das 'print' Attribut auf
- 'false' gesetzt werden. Dies könnte sinnvoll sein, wenn man einen
- einzelnen Wert überspringen möchte.
-
-
- Das 'advance'-Attribut wird verwendet um einen Wert zu wiederholen.
- Wenn auf 'false' gesetzt, wird bei der nächsten Iteration der selbe
- Wert erneut ausgegeben.
-
-
- Wenn sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
- der 'cycle'-Funktion in dieser Template-Variable abgelegt, anstatt ausgegeben zu werden.
-
-
-cycle (Zyklus)
-
-
-{* initialisieren *}
-{cycle values="#eeeeee,#d0d0d0"}
-{cycle}
-{cycle}
-
-
-AUSGABE:
-
-#eeeeee
-#d0d0d0
-#eeeeee
-
-
-
- debug
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- output
- string
- Nein
- html
- Ausgabe-Typ, entweder HTML oder Javascript.
-
-
-
-
-
- {debug} zeigt die 'debugging'-Konsole auf der Seite an. $debug
- hat darauf keinen Einfluss. Da die Ausgabe zur Laufzeit geschieht, können die Template-Namen hier
- nicht ausgegeben werden. Sie erhalten jedoch eine Liste aller zugewiesenen Variablen und deren Werten.
-
-
-
- eval (auswerten)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- var
- mixed
- Ja
- n/a
- Variable oder Zeichenkette die ausgewertet werden soll.
-
-
- assign
- string
- Nein
- n/a
- Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
-
-
-
-
-
- 'eval' wird verwendet um eine Variable als Template auszuwerten. Dies kann
- verwendet werden um Template-Tags/Variablen in einer Variable oder
- einer Konfigurationsdatei abzulegen.
-
-
- Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
- von 'eval' in dieser Template-Variable gespeichert und nicht ausgegeben.
-
-
- Technische Bemerkung
-
- Evaluierte Variablen werden gleich wie Template-Variablen verwendet
- und folgen den selben Maskierungs- und Sicherheits-Features.
-
-
-
- Technische Bemerkung
-
- Evaluierte Variablen werden bei jedem Aufruf neu ausgewertet. Die kompilierten
- Versionen werden dabei nicht abgelegt! Falls sie caching eingeschaltet haben, wird
- die Ausgabe jedoch mit dem Rest des Templates gecached.
-
-
-
-eval (auswerten)
-
-setup.conf
-----------
-
-emphstart = <b>
-emphend = </b>
-title = Willkommen auf {$company}'s home page!
-ErrorCity = Bitte geben Sie einen {#emphstart#}Stadtnamen{#emphend#} ein.
-ErrorState = Bitte geben Sie einen {#emphstart#}Provinznamen{#emphend#} ein.
-
-
-index.tpl
----------
-
-{config_load file="setup.conf"}
-
-{eval var=$foo}
-{eval var=#title#}
-{eval var=#ErrorCity#}
-{eval var=#ErrorState# assign="state_error"}
-{$state_error}
-
-AUSGABE:
-
-Dies ist der Inhalt von foo:
-
-Willkommen auf Pub & Grill's home page!
-Bitte geben Sie einen <b>Stadtnamen</b> ein.
-Bitte geben Sie einen <b>Provinznamen</b> ein.
-
-
-
-
-
- fetch
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- file
- string
- Ja
- n/a
- Die Datei, FTP oder HTTP Seite die geliefert werden soll.
-
-
- assign
- string
- Nein
- n/a
- Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
-
-
-
-
-
- 'fetch' wird verwendet um lokale oder via HTTP beziehungsweise FTP verfügbare Inhalte
- auszugeben. Wenn der Dateiname mit 'http://' anfängt, wird die angegebene
- Webseite geladen und angezeigt. Wenn der Dateiname mit 'ftp://' anfängt
- wird die Datei vom FTP-Server geladen und angezeigt. Für lokale Dateien
- muss der absolute Pfad, oder ein Pfad relativ zum ausgeführten Skript übergeben werden.
-
-
- Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
- der 'fetch'-Funktion dieser Template-Variable zugewiesen, anstatt ausgegeben
- zu werden (seit Smarty 1.5.0).
-
-
- Technische Bemerkung
-
- HTTP-Redirects werden nicht unterstützt, stellen Sie sicher,
- dass die aufgerufene URL falls nötig durch ein '/'-Zeichen (slash) beendet wird.
-
-
-
- Technische Bemerkung
-
- Wenn Sicherheit eingeschaltet ist, und Dateien vom lokalen System
- geladen werden sollen, ist dies nur für Dateien erlaubt welche
- sich in einem definierten sicheren Verzeichnis befinden. ($secure_dir)
-
-
-
-fetch
-
-
-{* einbinden von javascript *}
-{fetch file="/export/httpd/www.domain.com/docs/navbar.js"}
-
-
-{* Wetter Informationen aus einer anderen Webseite bei uns anzeigen *}
-{fetch file="http://www.myweather.com/68502/"}
-
-
-{* News Datei via FTP auslesen *}
-{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"}
-
-
-{* die Ausgabe einer Template variable zuweisen *}
-{fetch file="http://www.myweather.com/68502/" assign="weather"}
-{if $weather ne ""}
- <b>{$weather}</b>
-{/if}
-
-
-
- html_checkboxes (Ausgabe von HTML-CHECKBOX Tag)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Nein
- checkbox
- Name der checkbox Liste
-
-
- values
- array
- ja, ausser wenn das option Attribut verwendet wird
- n/a
- ein Array mit Werten für die checkboxes
-
-
- output
- array
- ja, ausser wenn das option Attribut verwendet wird
- n/a
- ein Array mit Werten für checkbox Knöpfe
-
-
- selected
- string/array
- No
- empty
- das/die ausgewählten checkbox Elemente
-
-
- options
- assoziatives array
- Ja, ausser values/output wird verwendet
- n/a
- ein assoziatives Array mit Werten und Ausgaben
-
-
- separator
- string
- No
- empty
- Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll
-
-
- labels
- boolean
- No
- true
- fügt der Ausgabe <label>-Tags hinzu
-
-
-
-
-
- html_checkboxes ist eine Funktion die aus den übergebenen Daten html checkbox
- Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind.
- Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
-
-
- Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben.
-
-
-html_checkboxes
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_ids', array(1000,1001,1002,1003));
-$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"}
-
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_checkboxes', array(
- 1000 => 'Joe Schmoe',
- 1001 => 'Jack Smith',
- 1002 => 'Jane Johnson',
- 1003 => 'Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"}
-
-
-AUSGABE: (beider Beispiele)
-
-<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br />
-<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br />
-<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br />
-<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br />
-
-
-
- html_image (Ausgabe von HTML-IMG Tag)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- file
- string
- Ja
- n/a
- Name/Pfad zum Bild
-
-
- border
- string
- Nein
- 0
- Stärke des Rahmens
-
-
- height
- string
- No
- Normale Höhe des Bildes
- Höhe des Bildes
-
-
- width
- string
- No
- Normale Breite des Bildes
- Breite des Bildes
-
-
- basedir
- string
- no
- DOCUMENTROOT
- Basisverzeichnis für relative Pfadangaben
-
-
- alt
- string
- no
- ""
- Alternative Beschreibung des Bildes
-
-
- href
- string
- no
- n/a
- Link für das Bild
-
-
-
-
-
- html_image ist eine eigene Funktion die ein HTML Tag für ein Bild erzeugt.
- Die Höhe und Breite der Ausgabe wird automatisch aus der Bilddatei berechnet
- wenn die Werte nicht übergeben werden.
-
-
- basedir ist der Basispfad der für die Verlinkung verwendet werden soll. Wenn kein
- Wert übergeben wird, wird die Umgebungsvariable DOCUMENT_ROOT verwendet. Wenn Sicherheit
- eingeschaltet ist, muss das Bild in einem sicheren Verzeichnis liegen.
-
-
- href ist das href Attribut für das Image-Tag. Wenn dieser Wert übergeben wird,
- wird um das Bild ein <a href="LINKVALUE"><a> Tag erzeugt.
-
-
- Technische Bemerkung
-
- html_image greift auf das Dateisystem zu um Höhe und Breite zu errechnen. Wenn Sie
- caching nicht verwenden sollten Sie normalerweise auf diese Funktion aus performance Gründen verzichten.
-
-
-
-html_image
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{html_image file="pumpkin.jpg"}
-{html_image file="/path/from/docroot/pumpkin.jpg"}
-{html_image file="../path/relative/to/currdir/pumpkin.jpg"}
-
-AUSGABE: (möglich)
-
-<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" />
-<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" />
-<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" />
-
-
-
-
-
-
-
- html_options (Ausgabe von HTML-Options)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- values
- array
- Ja, ausser 'options'-Attribut wird verwendet.
- n/a
- Array mit Werten für die dropdown-Liste.
-
-
- output
- array
- Ja, ausser 'options'-Attribut wird verwendet.
- n/a
- Arrays mit Namen für die dropdown-Liste.
-
-
- selected
- string
- Nein
- empty
- Das ausgewählte Array Element.
-
-
- options
- associative array
- Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.
- n/a
- Assoziatives Array mit Werten die ausgegeben werden sollen.
-
-
-
-
-
- 'html_options' wird verwendet um HTML-Options Listen mit den übergebenen Daten
- zu erzeugen. Die Funktion kümmert sich ebenfalls um das setzen des ausgewählten
- Standardwertes. Die Attribute 'values' und 'output' sind erforderlich,
- ausser man verwendet das Attribut 'options'. Wenn ein Wert als Array erkannt wird,
- wird er als HTML-OPTGROUP ausgegeben und die Werte werden in Gruppen dargestellt.
- Rekursion wird unterstützt. Die Ausgabe ist XHTML kompatibel.
-
-
-html_options
-
-{* nehmen Sie an, dass $cust_ids und $cust_names Arrays mit Werten sind,
- während $customer_id auch leer sein kann *}
-
-<select name=customer_id>
- {html_options values=$cust_ids selected=$customer_id output=$cust_names}
-</select>
-
-
-{* alternativ können die Werte aus 'values' und 'output' als assoziative Arrays
- an 'options' übergeben werden. $customer_options ist in diesem Beispiel ein assoziatives Array *}
-
-<select name=customer_id>
- {html_options options=$customer_options selected=$customer_id}
-</select>
-
-
-AUSGABE:
-
-<select name=customer_id>
- <option value="1000">Joe Schmoe</option>
- <option value="1001" selected="selected">Jack Smith</option>
- <option value="1002">Jane Johnson</option>
- <option value="1003">Charlie Brown</option>
-</select>
-
-
-
- html_radios (Ausgabe von HTML-RADIO Tags)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- name
- string
- Nein
- radio
- Name der Radio Liste
-
-
- values
- array
- Ja, ausser 'options'-Attribut wird verwendet.
- n/a
- Array mit Werten für die dropdown-Liste.
-
-
- output
- array
- Ja, ausser 'options'-Attribut wird verwendet.
- n/a
- Arrays mit Namen für die dropdown-Liste.
-
-
- selected
- string
- Nein
- empty
- Das ausgewählte Array Element.
-
-
- options
- associative array
- Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.
- n/a
- Assoziatives Array mit Werten die ausgegeben werden sollen.
-
-
- separator
- string
- No
- empty
- Die Zeichenkette die zwischen 2 Radioelemente eingefügt werden soll.
-
-
-
-
-
- html_radio ist eine Funktion die aus den übergebenen Daten html radio
- Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind.
- Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
-
-
-html_radios
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_ids', array(1000,1001,1002,1003));
-$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
-Johnson','Carlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"}
-
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_radios', array(
- 1001 => 'Joe Schmoe',
- 1002 => 'Jack Smith',
- 1003 => 'Jane Johnson',
- 1004 => 'Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"}
-
-
-AUSGABE: (beider Beispiele)
-
-<input type="radio" name="id[]" value="1000">Joe Schmoe<br />
-<input type="radio" name="id[]" value="1001" checked="checked"><br />
-<input type="radio" name="id[]" value="1002">Jane Johnson<br />
-<input type="radio" name="id[]" value="1003">Charlie Brown<br />
-
-
-
-
- html_select_date (Ausgabe von Daten als HTML-'options')
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- prefix
- string
- Nein
- Date_
- Prefix für die Namen.
-
-
- time
- timestamp/YYYY-MM-DD
- Nein
- Aktuelle Zeit als Unix-Timestamp, oder in YYYY-MM-DD format.
- Das zu verwendende Datum.
-
-
- start_year
- string
- Nein
- aktuelles Jahr
- Das erste Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).
-
-
- end_year
- string
- Nein
- Gegenteil von start_year
- Das letzte Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).
-
-
- display_days
- boolean
- Nein
- true
- Definiert ob Tage ausgegeben sollen oder nicht.
-
-
- display_months
- boolean
- Nein
- true
- Definiert ob Monate ausgegeben werden sollen oder nicht.
-
-
- display_years
- boolean
- Nein
- true
- Definiert ob Jahre ausgegeben werden sollen oder nicht.
-
-
- month_format
- string
- Nein
- %B
- Format in welchem der Monat ausgegeben werden soll. (strftime)
-
-
- day_format
- string
- Nein
- %02d
- Definiert das Format in welchem der Tag ausgegeben werden soll. (sprintf)
-
-
- year_as_text
- boolean
- Nein
- false
- Definiert ob das Jahr als Text ausgegeben werden soll oder nicht.
-
-
- reverse_years
- boolean
- Nein
- false
- Definiert ob die Daten in verkehrter Reihenfolge ausgegeben werden sollen.
-
-
- field_array
- string
- Nein
- null
-
- Wenn ein Namen übergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zurückgegeben.
-
-
-
- day_size
- string
- Nein
- null
- Fügt dem 'select'-Tag das Attribut 'size' hinzu.
-
-
- month_size
- string
- Nein
- null
- Fügt dem 'select'-Tag das Attribut 'size' hinzu.
-
-
- year_size
- string
- Nein
- null
- Fügt dem 'select'-Tag das Attribut 'size' hinzu.
-
-
- all_extra
- string
- Nein
- null
- Fügt allen 'select'-Tags zusätzliche Attribute hinzu.
-
-
- day_extra
- string
- Nein
- null
- Fügt 'select'-Tags zusätzliche Attribute hinzu.
-
-
- month_extra
- string
- Nein
- null
- Fügt 'select'-Tags zusätzliche Attribute hinzu.
-
-
- year_extra
- string
- Nein
- null
- Fügt 'select'-Tags zusätzliche Attribute hinzu.
-
-
- field_order
- string
- Nein
- MDY
- Die Reihenfolge in der die Felder ausgegeben werden.
-
-
- field_separator
- string
- Nein
- \n
- Zeichenkette die zwischen den Feldern ausgegeben werden soll.
-
-
- month_value_format
- string
- Nein
- %m
- Format zur Ausgabe der Monats-Werte, Standardwert ist %m. (strftime)
-
-
-
-
-
- 'html_select_date' wird verwendet um Datums-Dropdown-Listen zu erzeugen,
- und kann einen oder alle der folgenden Werte darstellen: Jahr, Monat und Tag
-
-
-html_select_date
-
-{html_select_date}
-
-
-AUSGABE:
-
-<select name="Date_Month">
-<option value="1">January</option>
-<option value="2">February</option>
-<option value="3">March</option>
-<option value="4">April</option>
-<option value="5">May</option>
-<option value="6">June</option>
-<option value="7">July</option>
-<option value="8">August</option>
-<option value="9">September</option>
-<option value="10">October</option>
-<option value="11">November</option>
-<option value="12" selected>December</option>
-</select>
-<select name="Date_Day">
-<option value="1">01</option>
-<option value="2">02</option>
-<option value="3">03</option>
-<option value="4">04</option>
-<option value="5">05</option>
-<option value="6">06</option>
-<option value="7">07</option>
-<option value="8">08</option>
-<option value="9">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13" selected>13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-</select>
-<select name="Date_Year">
-<option value="2001" selected>2001</option>
-</select>
-
-
-
-
-html_select_date
-
-
-
-{* Start- und End-Jahr können relativ zum aktuellen Jahr definiert werden. *}
-{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}
-
-AUSGABE: (aktuelles Jahr ist 2000)
-
-<select name="StartDateMonth">
-<option value="1">January</option>
-<option value="2">February</option>
-<option value="3">March</option>
-<option value="4">April</option>
-<option value="5">May</option>
-<option value="6">June</option>
-<option value="7">July</option>
-<option value="8">August</option>
-<option value="9">September</option>
-<option value="10">October</option>
-<option value="11">November</option>
-<option value="12" selected>December</option>
-</select>
-<select name="StartDateYear">
-<option value="1999">1995</option>
-<option value="1999">1996</option>
-<option value="1999">1997</option>
-<option value="1999">1998</option>
-<option value="1999">1999</option>
-<option value="2000" selected>2000</option>
-<option value="2001">2001</option>
-</select>
-
-
-
- html_select_time (Ausgabe von Zeiten als HTML-'options')
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- prefix
- string
- Nein
- Time_
- Prefix des Namens.
-
-
- time
- timestamp
- Nein
- Aktuelle Uhrzeit.
- Definiert die zu verwendende Uhrzeit.
-
-
- display_hours
- boolean
- Nein
- true
- Definiert ob Stunden ausgegeben werden sollen.
-
-
- display_minutes
- boolean
- Nein
- true
- Definiert ob Minuten ausgegeben werden sollen.
-
-
- display_seconds
- boolean
- Nein
- true
- Definiert ob Sekunden ausgegeben werden sollen.
-
-
- display_meridian
- boolean
- Nein
- true
- Definiert ob der Meridian (am/pm) ausgegeben werden soll.
-
-
- use_24_hours
- boolean
- Nein
- true
- Definiert ob die Stunden in 24-Stunden Format angezeigt werden sollen oder nicht.
-
-
- minute_interval
- integer
- Nein
- 1
- Definiert den Interval in der Minuten-Dropdown-Liste.
-
-
- second_interval
- integer
- Nein
- 1
- Definiert den Interval in der Sekunden-Dropdown-Liste.
-
-
- field_array
- string
- Nein
- n/a
- Gibt die Daten in einen Array dieses Namens aus.
-
-
- all_extra
- string
- Nein
- null
- Fügt allen 'select'-Tags zusätzliche Attribute hinzu.
-
-
- hour_extra
- string
- Nein
- null
- Fügt dem Stunden-'select'-Tag zusätzliche Attribute hinzu.
-
-
- minute_extra
- string
- Nein
- null
- Fügt dem Minuten-'select'-Tag zusätzliche Attribute hinzu.
-
-
- second_extra
- string
- Nein
- null
- Fügt dem Sekunden-'select'-Tag zusätzliche Attribute hinzu.
-
-
- meridian_extra
- string
- No
- null
- Fügt dem Meridian-'select'-Tag zusätzliche Attribute hinzu.
-
-
-
-
-
- 'html_select_time' wird verwendet um Zeit-Dropdown-Listen zu erzeugen.
- Die Funktion kann alle oder eines der folgenden Felder ausgeben: Stunde, Minute, Sekunde und Meridian.
-
-
-html_select_time
-
-{html_select_time use_24_hours=true}
-
-
-AUSGABE:
-
-<select name="Time_Hour">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09" selected>09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-</select>
-<select name="Time_Minute">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20" selected>20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-<option value="32">32</option>
-<option value="33">33</option>
-<option value="34">34</option>
-<option value="35">35</option>
-<option value="36">36</option>
-<option value="37">37</option>
-<option value="38">38</option>
-<option value="39">39</option>
-<option value="40">40</option>
-<option value="41">41</option>
-<option value="42">42</option>
-<option value="43">43</option>
-<option value="44">44</option>
-<option value="45">45</option>
-<option value="46">46</option>
-<option value="47">47</option>
-<option value="48">48</option>
-<option value="49">49</option>
-<option value="50">50</option>
-<option value="51">51</option>
-<option value="52">52</option>
-<option value="53">53</option>
-<option value="54">54</option>
-<option value="55">55</option>
-<option value="56">56</option>
-<option value="57">57</option>
-<option value="58">58</option>
-<option value="59">59</option>
-</select>
-<select name="Time_Second">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23" selected>23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-<option value="32">32</option>
-<option value="33">33</option>
-<option value="34">34</option>
-<option value="35">35</option>
-<option value="36">36</option>
-<option value="37">37</option>
-<option value="38">38</option>
-<option value="39">39</option>
-<option value="40">40</option>
-<option value="41">41</option>
-<option value="42">42</option>
-<option value="43">43</option>
-<option value="44">44</option>
-<option value="45">45</option>
-<option value="46">46</option>
-<option value="47">47</option>
-<option value="48">48</option>
-<option value="49">49</option>
-<option value="50">50</option>
-<option value="51">51</option>
-<option value="52">52</option>
-<option value="53">53</option>
-<option value="54">54</option>
-<option value="55">55</option>
-<option value="56">56</option>
-<option value="57">57</option>
-<option value="58">58</option>
-<option value="59">59</option>
-</select>
-<select name="Time_Meridian">
-<option value="am" selected>AM</option>
-<option value="pm">PM</option>
-</select>
-
-
-
- html_table (Ausgabe von HTML-TABLE Tag)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standartwert
- Beschreibung
-
-
-
-
- loop
- array
- Ja
- n/a
- Array mit den Daten für den Loop
-
-
- cols
- integer
- Nein
- 3
- Anzahl Spalten in einer Tabelle
-
-
- table_attr
- string
- No
- border="1"
- Attribute für das Table-Tag
-
-
- tr_attr
- string
- No
- empty
- Attribute für das tr-Tag (Arrays werden durchlaufen)
-
-
- td_attr
- string
- No
- empty
- Attribute für das tr-Tag (Arrays werden durchlaufen)
-
-
- trailpad
- string
- No
-
- Wert für leere Zellen
-
-
-
- hdir
- string
- No
- right
- Richtung in der die Zeilen gerendered werden. Mögliche Werte: left/right
-
-
- vdir
- string
- No
- down
- Richtung in der die Spalten gerendered werden. Mögliche Werte: up/down
-
-
-
-
-
- html_table ist eine eigene Funktion die einen Array als
- Tabelle ausgibt. Das cols Attribut definiert die Menge
- von Spalten die ausgegeben werden sollen. table_attr, tr_attr
- und td_attr definieren die Attribute für die HTML Tags. Wenn tr_attr
- oder td_attr Arrays sind, werden diese durchlaufen. trailpad
- wird in leere Zellen eingefügt.
-
-
-html_table
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('data',array(1,2,3,4,5,6,7,8,9));
-$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{html_table loop=$data}
-{html_table loop=$data cols=4 table_attr='border="0"'}
-{html_table loop=$data cols=4 tr_attr=$tr}
-
-AUSGABE:
-
-<table border="1">
-<tr><td>1</td><td>2</td><td>3</td></tr>
-<tr><td>4</td><td>5</td><td>6</td></tr>
-<tr><td>7</td><td>8</td><td>9</td></tr>
-</table>
-<table border="0">
-<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
-<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
-<tr><td>9</td><td> </td><td> </td><td> </td></tr>
-</table>
-<table border="1">
-<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr>
-<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr>
-<tr bgcolor="#eeeeee"><td>9</td><td> </td><td> </td><td> </td></tr>
-</table>
-
-
-
- math (Mathematik)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- equation
- string
- Ja
- n/a
- Der auszuführende Vergleich.
-
-
- format
- string
- Nein
- n/a
- Format der Ausgabe. (sprintf)
-
-
- var
- numeric
- Ja
- n/a
- Wert der Vergleichsvariable.
-
-
- assign
- string
- Nein
- n/a
- Template-Variable welcher die Ausgabe zugewiesen werden soll.
-
-
- [var ...]
- numeric
- Yes
- n/a
- Zusätzliche Werte.
-
-
-
-
-
- 'math' ermöglicht es dem Designer, mathematische Gleichungen
- durchzuführen. Alle numerischen Template-Variablen
- können dazu verwendet werden und die Ausgabe wird an
- die Stelle des Tags geschrieben. Die Variablen werden
- der Funktion als Parameter übergeben, dabei kann es sich
- um statische oder um Template-Variablen handeln. Erlaubte Operatoren
- umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max,
- min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie
- die PHP-Dokumentation für zusätzliche Informationen zu dieser
- Funktion.
-
-
- Falls Sie die spezielle 'assign' Variable übergeben, wird die
- Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben
- Namen zugewiesen anstatt ausgegeben zu werden.
-
-
- Technische Bemerkung
-
- Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion
- äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript
- zu verwenden ist wesentlich performanter. Sie sollten daher
- - wann immer möglich - auf die Verwendung verzichten. Stellen
- Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections'
- oder anderen 'loop'-Konstrukten verwenden.
-
-
-
-math (Mathematik)
-
-{* $height=4, $width=5 *}
-
-{math equation="x + y" x=$height y=$width}
-
-AUSGABE:
-
-9
-
-
-{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *}
-
-{math equation="height * width / division"
- height=$row_height
- width=$row_width
- division=#col_div#}
-
-AUSGABE:
-
-100
-
-
-
-{* Sie können auch Klammern verwenden *}
-
-{math equation="(( x + y ) / z )" x=2 y=10 z=2}
-
-AUSGABE:
-
-6
-
-
-
-{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *}
-
-{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
-
-AUSGABE:
-
-9.44
-
-
-
- popup_init (Popup Initialisieren)
-
- 'popup' ist eine Integration von 'overLib', einer Javascript
- Library für 'popup'-Fenster. Dies kann verwendet werden um
- Zusatzinformationen als Context-Menu oder Tooltip auszugeben.
- 'popup_init' muss am Anfang jedes Templates aufgerufen werden,
- falls Sie planen darin die popup-Funktion
- zu verwenden. Der Author von 'overLib' ist Erik Bosrup, und die
- Homepage ist unter http://www.bosrup.com/web/overlib/ erreichbar.
-
-
- Seit Smarty 2.1.2 wird 'overLib' NICHT mehr mitgeliefert. Laden
- Sie 'overLib' herunter und platzieren Sie es in Ihrer Document Root.
- Danach können Sie mit dem Attribut 'src' definieren an welcher
- Stelle die Datei liegt.
-
-
-popup_init
-
-
-{* 'popup_init' muss einmalig am Anfang der Seite aufgerufen werden *}
-{popup_init src="/javascripts/overlib.js"}
-
-
-
- popup (Popup-Inhalt definieren)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- text
- string
- Ja
- n/a
- Text/HTML der im Popup ausgegeben werden soll.
-
-
- trigger
- string
- Nein
- onMouseOver
- Definiert bei welchem Event das Popup aufgerufen werden soll. Erlaubte Werte sind: onMouseOver und onClick
-
-
- sticky
- boolean
- Nein
- false
- Definiert ob das Popup geöffnet bleiben soll bis es manuell geschlossen wird.
-
-
- caption
- string
- Nein
- n/a
- Definiert die Überschrift.
-
-
- fgcolor
- string
- Nein
- n/a
- Hintergrundfarbe des Popups.
-
-
- bgcolor
- string
- Nein
- n/a
- Rahmenfarbe des Popups.
-
-
- textcolor
- string
- Nein
- n/a
- Farbe des Textes im Popup.
-
-
- capcolor
- string
- Nein
- n/a
- Farbe der Popup-Überschrift.
-
-
- closecolor
- string
- Nein
- n/a
- Die Farbe des 'close'-Textes.
-
-
- textfont
- string
- Nein
- n/a
- Die Farbe des Textes.
-
-
- captionfont
- string
- Nein
- n/a
- Die Schriftart für die Überschrift.
-
-
- closefont
- string
- Nein
- n/a
- Die Schriftart für den 'close'-Text.
-
-
- textsize
- string
- Nein
- n/a
- Die Schriftgrösse des Textes.
-
-
- captionsize
- string
- Nein
- n/a
- Die Schriftgrösse der Überschrift.
-
-
- closesize
- string
- Nein
- n/a
- Die Schriftgrösse des 'close'-Textes.
-
-
- width
- integer
- Nein
- n/a
- Die Breite der Popup-Box.
-
-
- height
- integer
- Nein
- n/a
- Die Höhe der Popup-Box.
-
-
- left
- boolean
- Nein
- false
- Öffnet die Popup-Box links von Mauszeiger.
-
-
- right
- boolean
- Nein
- false
- Öffnet die Popup-Box rechts von Mauszeiger.
-
-
- center
- boolean
- Nein
- false
- Öffnet die Popup-Box in der Mitte des Mauszeigers.
-
-
- above
- boolean
- Nein
- false
- Öffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur möglich wenn 'height' definiert ist.
-
-
- below
- boolean
- Nein
- false
- Öffnet die Popup-Box unterhalb des Mauszeigers.
-
-
- border
- integer
- Nein
- n/a
- Die Rahmenbreite der Popup-Box.
-
-
- offsetx
- integer
- Nein
- n/a
- Horizontale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.
-
-
- offsety
- integer
- Nein
- n/a
- Vertikale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.
-
-
- fgbackground
- url to image
- Nein
- n/a
- Das Hintergundbild.
-
-
- bgbackground
- url to image
- Nein
- n/a
-
- Definiert das Bild welches verwendet werden soll um den Rahmen zu zeichnen.
- Achtung: Sie müssen 'bgcolor' auf '' setzen, da die Farbe sonst angezeigt wird.
- Achtung: Wenn sie einen 'close'-Link verwenden, wird Netscape (4.x) die Zellen
- mehrfach rendern, was zu einer falschen Anzeige führen kann.
-
-
-
- closetext
- string
- Nein
- n/a
- Definiert den Text des 'close'-Links.
-
-
- noclose
- boolean
- Nein
- n/a
- Zeigt den 'close'-Link nicht an.
-
-
- status
- string
- Nein
- n/a
- Definiert den Text der in der Browser-Statuszeile ausgegeben wird.
-
-
- autostatus
- boolean
- Nein
- n/a
- Gibt als Statusinformationen den Popup-Text aus. Achtung: Dies überschreibt die definierten Statuswerte.
-
-
- autostatuscap
- string
- Nein
- n/a
- Zeigt in der Statusleiste den Wert der Popup-Überschrift an. Achtung: Dies überschreibt die definierten Statuswerte.
-
-
- inarray
- integer
- Nein
- n/a
-
- Weist 'overLib' an, den Wert aus dem in 'overlib.js' definierten Array 'ol_text' zu lesen.
-
-
- caparray
- integer
- Nein
- n/a
- Weist 'overLib' an, die Überschrift aus dem in 'overlib.js' definierten Array 'ol_caps' zu lesen.
-
-
- capicon
- url
- Nein
- n/a
- Zeigt das übergebene Bild vor der Überschrift an.
-
-
- snapx
- integer
- Nein
- n/a
- Aliniert das Popup an einem horizontalen Gitter.
-
-
- snapy
- integer
- Nein
- n/a
- Aliniert das Popup an einem vertikalen Gitter.
-
-
- fixx
- integer
- Nein
- n/a
- Fixiert das Popup an der definierten horizontalen Position. Achtung: überschreibt alle anderen horizontalen Positionen.
-
-
- fixy
- integer
- Nein
- n/a
- Fixiert das Popup an der definierten vertikalen Position. Achtung: überschreibt alle anderen vertikalen Positionen.
-
-
- background
- url
- Nein
- n/a
- Definiert das Hintergrundbild welches anstelle des Tabellenhintergrundes verwendet werden soll.
-
-
- padx
- integer,integer
- Nein
- n/a
- Erzeugt horizontale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.
-
-
- pady
- integer,integer
- Nein
- n/a
- Erzeugt vertikale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.
-
-
- fullhtml
- boolean
- Nein
- n/a
- Lässt Sie den HTML-Code betreffend einem Hintergrundbild komplett kontrollieren.
-
-
- frame
- string
- Nein
- n/a
- Kontrolliert Popups in einem anderen Frame. Sehen sie die 'overLib'-Seite für zusätzliche Informationen zu dieser Funktion.
-
-
- timeout
- string
- Nein
- n/a
- Führt die übergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text für das Popup.
-
-
- delay
- integer
- Nein
- n/a
- Macht, dass sich das Popup wie ein Tooltip verhält, und nach den definierten Millisekunden verschwindet.
-
-
- hauto
- boolean
- Nein
- n/a
- Lässt 'overLib' automatisch definieren an welcher Seite (links/rechts) des Mauszeigers das Popup ausgegeben werden soll.
-
-
- vauto
- boolean
- Nein
- n/a
- Lässt 'overLib' automatisch definieren an welcher Seite (oben/unten) des Mauszeigers das Popup ausgegeben werden soll.
-
-
-
-
-
- 'popup' wird verwendet um Javascript-Popup-Fenster zu erzeugen.
-
-
-popup
-
-
-{* 'popup_init' muss am Anfang jeder Seite aufgerufen werden die 'popup' verwendet *}
-{popup_init src="/javascripts/overlib.js"}
-
-{* create a link with a popup window when you move your mouse over *}
-{* ein link mit einem Popup welches geöffnet wird wenn die Maus über dem Link ist. *}
-<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A>
-
-
-{* Sie können in einem Popup text, html, links und weiteres verwenden *}
-<A href="mypage.html" {popup sticky=true caption="mypage contents"
-text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A>
-
-AUSGABE:
-
-
-(Für Beispiele können Sie sich die Smarty Homepage anschauen.)
-
-
-
- textformat (Textformatierung)
-
-
-
-
-
-
-
-
-
- Attribut Name
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- style
- string
- Nein
- n/a
- aktueller Stil
-
-
- indent
- number
- Nein
- 0
- Anzahl Zeichen die für das einrücken von Zeilen verwendet werden.
-
-
- indent_first
- number
- Nein
- 0
- Anzahl Zeichen die für das Einrücken der ersten Zeile verwendet werden.
-
-
- indent_char
- string
- Nein
- (single space)
- Das Zeichen welches zum Einrücken verwendet werden soll.
-
-
- wrap
- number
- Nein
- 80
- Maximale Zeilenlänge bevor die Zeile umgebrochen wird.
-
-
- wrap_char
- string
- Nein
- \n
- Das für Zeilenumbrüche zu verwendende Zeichen.
-
-
- wrap_cut
- boolean
- Nein
- false
- Wenn auf 'true' gesetzt, wird die Zeile an der definierten Position abgeschnitten.
-
-
- assign
- string
- Nein
- n/a
- Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
-
-
-
-
-
- 'textformat' ist eine Funktion um Text zu formatieren. Die Funktion
- entfernt überflüssige Leerzeichen und formatiert Paragrafen
- indem sie die Zeilen einrückt und umbricht.
-
-
- Sie können entweder den aktuellen Stil verwenden, oder ihn anhand
- der Parameter selber definieren. Im Moment ist 'email' der einzig verfügbare Stil.
-
-
-textformat (Text Formatierung)
-
-{textformat wrap=40}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-AUSGABE:
-
-This is foo. This is foo. This is foo.
-This is foo. This is foo. This is foo.
-
-This is bar.
-
-bar foo bar foo foo. bar foo bar foo
-foo. bar foo bar foo foo. bar foo bar
-foo foo. bar foo bar foo foo. bar foo
-bar foo foo. bar foo bar foo foo.
-
-
-{textformat wrap=40 indent=4}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-AUSGABE:
-
- This is foo. This is foo. This is
- foo. This is foo. This is foo. This
- is foo.
-
- This is bar.
-
- bar foo bar foo foo. bar foo bar foo
- foo. bar foo bar foo foo. bar foo
- bar foo foo. bar foo bar foo foo.
- bar foo bar foo foo. bar foo bar
- foo foo.
-
-{textformat wrap=40 indent=4 indent_first=4}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-AUSGABE:
-
- This is foo. This is foo. This
- is foo. This is foo. This is foo.
- This is foo.
-
- This is bar.
-
- bar foo bar foo foo. bar foo bar
- foo foo. bar foo bar foo foo. bar
- foo bar foo foo. bar foo bar foo
- foo. bar foo bar foo foo. bar foo
- bar foo foo.
-
-{textformat style="email"}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-AUSGABE:
-
-This is foo. This is foo. This is foo. This is foo. This is foo. This is
-foo.
-
-This is bar.
-
-bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo
-bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo
-foo.
-
-
-
-
+&designers.language-custom-functions.language-function-assign;
+&designers.language-custom-functions.language-function-counter;
+&designers.language-custom-functions.language-function-cycle;
+&designers.language-custom-functions.language-function-debug;
+&designers.language-custom-functions.language-function-eval;
+&designers.language-custom-functions.language-function-fetch;
+&designers.language-custom-functions.language-function-html-checkboxes;
+&designers.language-custom-functions.language-function-html-image;
+&designers.language-custom-functions.language-function-html-options;
+&designers.language-custom-functions.language-function-html-radios;
+
+&designers.language-custom-functions.language-function-html-select-date;
+&designers.language-custom-functions.language-function-html-select-time;
+&designers.language-custom-functions.language-function-html-table;
+&designers.language-custom-functions.language-function-math;
+&designers.language-custom-functions.language-function-popup-init;
+&designers.language-custom-functions.language-function-popup;
+&designers.language-custom-functions.language-function-textformat;
+
+ assign (zuweisen)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ var
+ string
+ Ja
+ n/a
+ Der Name der zuzuweisenden Variable.
+
+
+ value
+ string
+ Ja
+ n/a
+ Der zuzuweisende Wert.
+
+
+
+
+
+ 'assign' wird verwendet um einer Template-Variable einen Wert zuzuweisen.
+
+
+assign (zuweisen)
+
+{assign var="name" value="Bob"}
+
+Der Wert von $name ist {$name}.
+
+AUSGABE:
+
+Der Wert von $name ist Bob.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-counter.xml b/docs/de/designers/language-custom-functions/language-function-counter.xml
new file mode 100644
index 00000000..8c040002
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-counter.xml
@@ -0,0 +1,118 @@
+
+
+
+ counter (Zähler)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Nein
+ default
+ Der Name des Zählers.
+
+
+ start
+ number
+ Nein
+ 1
+ Der Initialwert.
+
+
+ skip
+ number
+ Nein
+ 1
+ Der Interval.
+
+
+ direction
+ string
+ Nein
+ up
+ Die Richtung (up/down).
+
+
+ print
+ boolean
+ Nein
+ true
+ Definiert ob der Wert ausgegeben werden soll.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Die Template-Variable welcher der Wert zugewiesen werden soll.
+
+
+
+
+
+ 'counter' wird verwendet um eine Zahlenreihe auszugeben. Sie können
+ den Initialwert bestimmen, den Zählinterval, die Richtung in der
+ gezählt werden soll und ob der Wert ausgegeben wird. Sie können
+ mehrere Zähler gleichzeitig laufen lassen, in dem Sie ihnen einmalige
+ Namen geben. Wenn Sie keinen Wert für 'name' übergeben, wird 'default'
+ verwendet.
+
+
+ Wenn Sie das spezielle 'assign'-Attribut verwenden, wird die Ausgabe des Zählers
+ dieser Template-Variable zugewiesen anstatt ausgegeben zu werden.
+
+
+counter (Zähler)
+
+
+{* initialisieren *}
+{counter start=0 skip=2 print=false}
+
+{counter}<br>
+{counter}<br>
+{counter}<br>
+{counter}<br>
+
+AUSGABE:
+
+2<br>
+4<br>
+6<br>
+8<br>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-cycle.xml b/docs/de/designers/language-custom-functions/language-function-cycle.xml
new file mode 100644
index 00000000..db683d12
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-cycle.xml
@@ -0,0 +1,130 @@
+
+
+
+ cycle (Zyklus)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Nein
+ default
+ Der Name des Zyklus.
+
+
+ values
+ mixed
+ Ja
+ N/A
+
+ Die Werte durch die zirkuliert werden soll, entweder als
+ Komma separierte Liste (siehe 'delimiter'-Attribut), oder
+ als Array.
+
+
+
+ print
+ boolean
+ Nein
+ true
+ Definiert ob die Werte ausgegeben werden sollen oder nicht.
+
+
+ advance
+ boolean
+ Nein
+ true
+ Definiert ob der nächste Wert automatisch angesprungen werden soll.
+
+
+ delimiter
+ string
+ Nein
+ ,
+ Das zu verwendende Trennzeichen.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Der Name der Template-Variable welcher die Ausgabe zugewiesen werden soll.
+
+
+
+
+
+ 'cycle' wird verwendet um durch ein Set von Werten zu zirkulieren.
+ Dies vereinfacht die Handhabung von zwei oder mehr Farben in einer
+ Tabelle, oder um einen Array zu durchlaufen.
+
+
+ Sie können durch mehrere Sets gleichzeitig iterieren, indem
+ Sie den Sets einmalige Namen geben.
+
+
+ Um den aktuellen Wert nicht auszugeben, kann das 'print' Attribut auf
+ 'false' gesetzt werden. Dies könnte sinnvoll sein, wenn man einen
+ einzelnen Wert überspringen möchte.
+
+
+ Das 'advance'-Attribut wird verwendet um einen Wert zu wiederholen.
+ Wenn auf 'false' gesetzt, wird bei der nächsten Iteration der selbe
+ Wert erneut ausgegeben.
+
+
+ Wenn sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
+ der 'cycle'-Funktion in dieser Template-Variable abgelegt, anstatt ausgegeben zu werden.
+
+
+cycle (Zyklus)
+
+
+{* initialisieren *}
+{cycle values="#eeeeee,#d0d0d0"}
+{cycle}
+{cycle}
+
+
+AUSGABE:
+
+#eeeeee
+#d0d0d0
+#eeeeee
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-debug.xml b/docs/de/designers/language-custom-functions/language-function-debug.xml
new file mode 100644
index 00000000..459cc1ff
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-debug.xml
@@ -0,0 +1,57 @@
+
+
+
+ debug
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ output
+ string
+ Nein
+ html
+ Ausgabe-Typ, entweder HTML oder Javascript.
+
+
+
+
+
+ {debug} zeigt die 'debugging'-Konsole auf der Seite an. $debug
+ hat darauf keinen Einfluss. Da die Ausgabe zur Laufzeit geschieht, können die Template-Namen hier
+ nicht ausgegeben werden. Sie erhalten jedoch eine Liste aller zugewiesenen Variablen und deren Werten.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-eval.xml b/docs/de/designers/language-custom-functions/language-function-eval.xml
new file mode 100644
index 00000000..3c613a88
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-eval.xml
@@ -0,0 +1,117 @@
+
+
+
+ eval (auswerten)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ var
+ mixed
+ Ja
+ n/a
+ Variable oder Zeichenkette die ausgewertet werden soll.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
+
+
+
+
+
+ 'eval' wird verwendet um eine Variable als Template auszuwerten. Dies kann
+ verwendet werden um Template-Tags/Variablen in einer Variable oder
+ einer Konfigurationsdatei abzulegen.
+
+
+ Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
+ von 'eval' in dieser Template-Variable gespeichert und nicht ausgegeben.
+
+
+ Technische Bemerkung
+
+ Evaluierte Variablen werden gleich wie Template-Variablen verwendet
+ und folgen den selben Maskierungs- und Sicherheits-Features.
+
+
+
+ Technische Bemerkung
+
+ Evaluierte Variablen werden bei jedem Aufruf neu ausgewertet. Die kompilierten
+ Versionen werden dabei nicht abgelegt! Falls sie caching eingeschaltet haben, wird
+ die Ausgabe jedoch mit dem Rest des Templates gecached.
+
+
+
+eval (auswerten)
+
+setup.conf
+----------
+
+emphstart = <b>
+emphend = </b>
+title = Willkommen auf {$company}'s home page!
+ErrorCity = Bitte geben Sie einen {#emphstart#}Stadtnamen{#emphend#} ein.
+ErrorState = Bitte geben Sie einen {#emphstart#}Provinznamen{#emphend#} ein.
+
+
+index.tpl
+---------
+
+{config_load file="setup.conf"}
+
+{eval var=$foo}
+{eval var=#title#}
+{eval var=#ErrorCity#}
+{eval var=#ErrorState# assign="state_error"}
+{$state_error}
+
+AUSGABE:
+
+Dies ist der Inhalt von foo:
+
+Willkommen auf Pub & Grill's home page!
+Bitte geben Sie einen <b>Stadtnamen</b> ein.
+Bitte geben Sie einen <b>Provinznamen</b> ein.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-fetch.xml b/docs/de/designers/language-custom-functions/language-function-fetch.xml
new file mode 100644
index 00000000..5f101b8d
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-fetch.xml
@@ -0,0 +1,108 @@
+
+
+
+ fetch
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ file
+ string
+ Ja
+ n/a
+ Die Datei, FTP oder HTTP Seite die geliefert werden soll.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
+
+
+
+
+
+ 'fetch' wird verwendet um lokale oder via HTTP beziehungsweise FTP verfügbare Inhalte
+ auszugeben. Wenn der Dateiname mit 'http://' anfängt, wird die angegebene
+ Webseite geladen und angezeigt. Wenn der Dateiname mit 'ftp://' anfängt
+ wird die Datei vom FTP-Server geladen und angezeigt. Für lokale Dateien
+ muss der absolute Pfad, oder ein Pfad relativ zum ausgeführten Skript übergeben werden.
+
+
+ Wenn Sie das spezielle 'assign'-Attribut übergeben, wird die Ausgabe
+ der 'fetch'-Funktion dieser Template-Variable zugewiesen, anstatt ausgegeben
+ zu werden (seit Smarty 1.5.0).
+
+
+ Technische Bemerkung
+
+ HTTP-Redirects werden nicht unterstützt, stellen Sie sicher,
+ dass die aufgerufene URL falls nötig durch ein '/'-Zeichen (slash) beendet wird.
+
+
+
+ Technische Bemerkung
+
+ Wenn Sicherheit eingeschaltet ist, und Dateien vom lokalen System
+ geladen werden sollen, ist dies nur für Dateien erlaubt welche
+ sich in einem definierten sicheren Verzeichnis befinden. ($secure_dir)
+
+
+
+fetch
+
+
+{* einbinden von javascript *}
+{fetch file="/export/httpd/www.domain.com/docs/navbar.js"}
+
+
+{* Wetter Informationen aus einer anderen Webseite bei uns anzeigen *}
+{fetch file="http://www.myweather.com/68502/"}
+
+
+{* News Datei via FTP auslesen *}
+{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"}
+
+
+{* die Ausgabe einer Template variable zuweisen *}
+{fetch file="http://www.myweather.com/68502/" assign="weather"}
+{if $weather ne ""}
+ <b>{$weather}</b>
+{/if}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml
new file mode 100644
index 00000000..881c5f4e
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-checkboxes.xml
@@ -0,0 +1,144 @@
+
+
+
+ html_checkboxes (Ausgabe von HTML-CHECKBOX Tag)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Nein
+ checkbox
+ Name der checkbox Liste
+
+
+ values
+ array
+ ja, ausser wenn das option Attribut verwendet wird
+ n/a
+ ein Array mit Werten für die checkboxes
+
+
+ output
+ array
+ ja, ausser wenn das option Attribut verwendet wird
+ n/a
+ ein Array mit Werten für checkbox Knöpfe
+
+
+ selected
+ string/array
+ No
+ empty
+ das/die ausgewählten checkbox Elemente
+
+
+ options
+ assoziatives array
+ Ja, ausser values/output wird verwendet
+ n/a
+ ein assoziatives Array mit Werten und Ausgaben
+
+
+ separator
+ string
+ No
+ empty
+ Zeichenkette die zwischen den checkbox Elementen eingefügt werden soll
+
+
+ labels
+ boolean
+ No
+ true
+ fügt der Ausgabe <label>-Tags hinzu
+
+
+
+
+
+ html_checkboxes ist eine Funktion die aus den übergebenen Daten html checkbox
+ Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind.
+ Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
+
+
+ Alle Parameter die nicht in der Liste erwähnt werden, werden ausgegeben.
+
+
+html_checkboxes
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_ids', array(1000,1001,1002,1003));
+$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_checkboxes values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"}
+
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_checkboxes', array(
+ 1000 => 'Joe Schmoe',
+ 1001 => 'Jack Smith',
+ 1002 => 'Jane Johnson',
+ 1003 => 'Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{html_checkboxes name="id" options=$cust_checkboxes checked=$customer_id separator="<br />"}
+
+
+AUSGABE: (beider Beispiele)
+
+<label><input type="checkbox" name="checkbox[]" value="1000" />Joe Schmoe</label><br />
+<label><input type="checkbox" name="checkbox[]" value="1001" checked="checked" />Jack Smith</label><br />
+<label><input type="checkbox" name="checkbox[]" value="1002" />Jane Johnson</label><br />
+<label><input type="checkbox" name="checkbox[]" value="1003" />Charlie Brown</label><br />
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-image.xml b/docs/de/designers/language-custom-functions/language-function-html-image.xml
new file mode 100644
index 00000000..55035c25
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-image.xml
@@ -0,0 +1,140 @@
+
+
+
+ html_image (Ausgabe von HTML-IMG Tag)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ file
+ string
+ Ja
+ n/a
+ Name/Pfad zum Bild
+
+
+ border
+ string
+ Nein
+ 0
+ Stärke des Rahmens
+
+
+ height
+ string
+ No
+ Normale Höhe des Bildes
+ Höhe des Bildes
+
+
+ width
+ string
+ No
+ Normale Breite des Bildes
+ Breite des Bildes
+
+
+ basedir
+ string
+ no
+ DOCUMENTROOT
+ Basisverzeichnis für relative Pfadangaben
+
+
+ alt
+ string
+ no
+ ""
+ Alternative Beschreibung des Bildes
+
+
+ href
+ string
+ no
+ n/a
+ Link für das Bild
+
+
+
+
+
+ html_image ist eine eigene Funktion die ein HTML Tag für ein Bild erzeugt.
+ Die Höhe und Breite der Ausgabe wird automatisch aus der Bilddatei berechnet
+ wenn die Werte nicht übergeben werden.
+
+
+ basedir ist der Basispfad der für die Verlinkung verwendet werden soll. Wenn kein
+ Wert übergeben wird, wird die Umgebungsvariable DOCUMENT_ROOT verwendet. Wenn Sicherheit
+ eingeschaltet ist, muss das Bild in einem sicheren Verzeichnis liegen.
+
+
+ href ist das href Attribut für das Image-Tag. Wenn dieser Wert übergeben wird,
+ wird um das Bild ein <a href="LINKVALUE"><a> Tag erzeugt.
+
+
+ Technische Bemerkung
+
+ html_image greift auf das Dateisystem zu um Höhe und Breite zu errechnen. Wenn Sie
+ caching nicht verwenden sollten Sie normalerweise auf diese Funktion aus performance Gründen verzichten.
+
+
+
+html_image
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{html_image file="pumpkin.jpg"}
+{html_image file="/path/from/docroot/pumpkin.jpg"}
+{html_image file="../path/relative/to/currdir/pumpkin.jpg"}
+
+AUSGABE: (möglich)
+
+<img src="pumpkin.jpg" alt="" border="0" width="44" height="68" />
+<img src="/path/from/docroot/pumpkin.jpg" alt="" border="0" width="44" height="68" />
+<img src="../path/relative/to/currdir/pumpkin.jpg" alt="" border="0" width="44" height="68" />
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-options.xml b/docs/de/designers/language-custom-functions/language-function-html-options.xml
new file mode 100644
index 00000000..1c3f8359
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-options.xml
@@ -0,0 +1,109 @@
+
+
+
+ html_options (Ausgabe von HTML-Options)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ values
+ array
+ Ja, ausser 'options'-Attribut wird verwendet.
+ n/a
+ Array mit Werten für die dropdown-Liste.
+
+
+ output
+ array
+ Ja, ausser 'options'-Attribut wird verwendet.
+ n/a
+ Arrays mit Namen für die dropdown-Liste.
+
+
+ selected
+ string
+ Nein
+ empty
+ Das ausgewählte Array Element.
+
+
+ options
+ associative array
+ Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.
+ n/a
+ Assoziatives Array mit Werten die ausgegeben werden sollen.
+
+
+
+
+
+ 'html_options' wird verwendet um HTML-Options Listen mit den übergebenen Daten
+ zu erzeugen. Die Funktion kümmert sich ebenfalls um das setzen des ausgewählten
+ Standardwertes. Die Attribute 'values' und 'output' sind erforderlich,
+ ausser man verwendet das Attribut 'options'. Wenn ein Wert als Array erkannt wird,
+ wird er als HTML-OPTGROUP ausgegeben und die Werte werden in Gruppen dargestellt.
+ Rekursion wird unterstützt. Die Ausgabe ist XHTML kompatibel.
+
+
+html_options
+
+{* nehmen Sie an, dass $cust_ids und $cust_names Arrays mit Werten sind,
+ während $customer_id auch leer sein kann *}
+
+<select name=customer_id>
+ {html_options values=$cust_ids selected=$customer_id output=$cust_names}
+</select>
+
+
+{* alternativ können die Werte aus 'values' und 'output' als assoziative Arrays
+ an 'options' übergeben werden. $customer_options ist in diesem Beispiel ein assoziatives Array *}
+
+<select name=customer_id>
+ {html_options options=$customer_options selected=$customer_id}
+</select>
+
+
+AUSGABE:
+
+<select name=customer_id>
+ <option value="1000">Joe Schmoe</option>
+ <option value="1001" selected="selected">Jack Smith</option>
+ <option value="1002">Jane Johnson</option>
+ <option value="1003">Charlie Brown</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-radios.xml b/docs/de/designers/language-custom-functions/language-function-html-radios.xml
new file mode 100644
index 00000000..23fe2671
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-radios.xml
@@ -0,0 +1,136 @@
+
+
+
+ html_radios (Ausgabe von HTML-RADIO Tags)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ name
+ string
+ Nein
+ radio
+ Name der Radio Liste
+
+
+ values
+ array
+ Ja, ausser 'options'-Attribut wird verwendet.
+ n/a
+ Array mit Werten für die dropdown-Liste.
+
+
+ output
+ array
+ Ja, ausser 'options'-Attribut wird verwendet.
+ n/a
+ Arrays mit Namen für die dropdown-Liste.
+
+
+ selected
+ string
+ Nein
+ empty
+ Das ausgewählte Array Element.
+
+
+ options
+ associative array
+ Ja, ausser wenn das 'values'- und das 'output'-Attribut verwendet werden.
+ n/a
+ Assoziatives Array mit Werten die ausgegeben werden sollen.
+
+
+ separator
+ string
+ No
+ empty
+ Die Zeichenkette die zwischen 2 Radioelemente eingefügt werden soll.
+
+
+
+
+
+ html_radio ist eine Funktion die aus den übergebenen Daten html radio
+ Elemente erstellt und kümmert sich darum welche Elemente ausgewählt sind.
+ Erforderliche Attribute sind Wert/Ausgabe oder Options. Die Ausgabe ist XHTML kompatibel
+
+
+html_radios
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_ids', array(1000,1001,1002,1003));
+$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
+Johnson','Carlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_radios values=$cust_ids checked=$customer_id output=$cust_names separator="<br />"}
+
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_radios', array(
+ 1001 => 'Joe Schmoe',
+ 1002 => 'Jack Smith',
+ 1003 => 'Jane Johnson',
+ 1004 => 'Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_radios name="id" options=$cust_radios checked=$customer_id separator="<br />"}
+
+
+AUSGABE: (beider Beispiele)
+
+<input type="radio" name="id[]" value="1000">Joe Schmoe<br />
+<input type="radio" name="id[]" value="1001" checked="checked"><br />
+<input type="radio" name="id[]" value="1002">Jane Johnson<br />
+<input type="radio" name="id[]" value="1003">Charlie Brown<br />
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-select-date.xml b/docs/de/designers/language-custom-functions/language-function-html-select-date.xml
new file mode 100644
index 00000000..c519b393
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-select-date.xml
@@ -0,0 +1,300 @@
+
+
+
+ html_select_date (Ausgabe von Daten als HTML-'options')
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ prefix
+ string
+ Nein
+ Date_
+ Prefix für die Namen.
+
+
+ time
+ timestamp/YYYY-MM-DD
+ Nein
+ Aktuelle Zeit als Unix-Timestamp, oder in YYYY-MM-DD format.
+ Das zu verwendende Datum.
+
+
+ start_year
+ string
+ Nein
+ aktuelles Jahr
+ Das erste Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).
+
+
+ end_year
+ string
+ Nein
+ Gegenteil von start_year
+ Das letzte Jahr in der dropdown-Liste, entweder als Jahreszahl oder relativ zum aktuellen Jahr (+/- N).
+
+
+ display_days
+ boolean
+ Nein
+ true
+ Definiert ob Tage ausgegeben sollen oder nicht.
+
+
+ display_months
+ boolean
+ Nein
+ true
+ Definiert ob Monate ausgegeben werden sollen oder nicht.
+
+
+ display_years
+ boolean
+ Nein
+ true
+ Definiert ob Jahre ausgegeben werden sollen oder nicht.
+
+
+ month_format
+ string
+ Nein
+ %B
+ Format in welchem der Monat ausgegeben werden soll. (strftime)
+
+
+ day_format
+ string
+ Nein
+ %02d
+ Definiert das Format in welchem der Tag ausgegeben werden soll. (sprintf)
+
+
+ year_as_text
+ boolean
+ Nein
+ false
+ Definiert ob das Jahr als Text ausgegeben werden soll oder nicht.
+
+
+ reverse_years
+ boolean
+ Nein
+ false
+ Definiert ob die Daten in verkehrter Reihenfolge ausgegeben werden sollen.
+
+
+ field_array
+ string
+ Nein
+ null
+
+ Wenn ein Namen übergeben wird, werden die Daten in der Form name[Day], name[Year], name[Month] an PHP zurückgegeben.
+
+
+
+ day_size
+ string
+ Nein
+ null
+ Fügt dem 'select'-Tag das Attribut 'size' hinzu.
+
+
+ month_size
+ string
+ Nein
+ null
+ Fügt dem 'select'-Tag das Attribut 'size' hinzu.
+
+
+ year_size
+ string
+ Nein
+ null
+ Fügt dem 'select'-Tag das Attribut 'size' hinzu.
+
+
+ all_extra
+ string
+ Nein
+ null
+ Fügt allen 'select'-Tags zusätzliche Attribute hinzu.
+
+
+ day_extra
+ string
+ Nein
+ null
+ Fügt 'select'-Tags zusätzliche Attribute hinzu.
+
+
+ month_extra
+ string
+ Nein
+ null
+ Fügt 'select'-Tags zusätzliche Attribute hinzu.
+
+
+ year_extra
+ string
+ Nein
+ null
+ Fügt 'select'-Tags zusätzliche Attribute hinzu.
+
+
+ field_order
+ string
+ Nein
+ MDY
+ Die Reihenfolge in der die Felder ausgegeben werden.
+
+
+ field_separator
+ string
+ Nein
+ \n
+ Zeichenkette die zwischen den Feldern ausgegeben werden soll.
+
+
+ month_value_format
+ string
+ Nein
+ %m
+ Format zur Ausgabe der Monats-Werte, Standardwert ist %m. (strftime)
+
+
+
+
+
+ 'html_select_date' wird verwendet um Datums-Dropdown-Listen zu erzeugen,
+ und kann einen oder alle der folgenden Werte darstellen: Jahr, Monat und Tag
+
+
+html_select_date
+
+{html_select_date}
+
+
+AUSGABE:
+
+<select name="Date_Month">
+<option value="1">January</option>
+<option value="2">February</option>
+<option value="3">March</option>
+<option value="4">April</option>
+<option value="5">May</option>
+<option value="6">June</option>
+<option value="7">July</option>
+<option value="8">August</option>
+<option value="9">September</option>
+<option value="10">October</option>
+<option value="11">November</option>
+<option value="12" selected>December</option>
+</select>
+<select name="Date_Day">
+<option value="1">01</option>
+<option value="2">02</option>
+<option value="3">03</option>
+<option value="4">04</option>
+<option value="5">05</option>
+<option value="6">06</option>
+<option value="7">07</option>
+<option value="8">08</option>
+<option value="9">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13" selected>13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+</select>
+<select name="Date_Year">
+<option value="2001" selected>2001</option>
+</select>
+
+
+
+
+html_select_date
+
+
+
+{* Start- und End-Jahr können relativ zum aktuellen Jahr definiert werden. *}
+{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}
+
+AUSGABE: (aktuelles Jahr ist 2000)
+
+<select name="StartDateMonth">
+<option value="1">January</option>
+<option value="2">February</option>
+<option value="3">March</option>
+<option value="4">April</option>
+<option value="5">May</option>
+<option value="6">June</option>
+<option value="7">July</option>
+<option value="8">August</option>
+<option value="9">September</option>
+<option value="10">October</option>
+<option value="11">November</option>
+<option value="12" selected>December</option>
+</select>
+<select name="StartDateYear">
+<option value="1999">1995</option>
+<option value="1999">1996</option>
+<option value="1999">1997</option>
+<option value="1999">1998</option>
+<option value="1999">1999</option>
+<option value="2000" selected>2000</option>
+<option value="2001">2001</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-select-time.xml b/docs/de/designers/language-custom-functions/language-function-html-select-time.xml
new file mode 100644
index 00000000..d678647f
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-select-time.xml
@@ -0,0 +1,317 @@
+
+
+
+ html_select_time (Ausgabe von Zeiten als HTML-'options')
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ prefix
+ string
+ Nein
+ Time_
+ Prefix des Namens.
+
+
+ time
+ timestamp
+ Nein
+ Aktuelle Uhrzeit.
+ Definiert die zu verwendende Uhrzeit.
+
+
+ display_hours
+ boolean
+ Nein
+ true
+ Definiert ob Stunden ausgegeben werden sollen.
+
+
+ display_minutes
+ boolean
+ Nein
+ true
+ Definiert ob Minuten ausgegeben werden sollen.
+
+
+ display_seconds
+ boolean
+ Nein
+ true
+ Definiert ob Sekunden ausgegeben werden sollen.
+
+
+ display_meridian
+ boolean
+ Nein
+ true
+ Definiert ob der Meridian (am/pm) ausgegeben werden soll.
+
+
+ use_24_hours
+ boolean
+ Nein
+ true
+ Definiert ob die Stunden in 24-Stunden Format angezeigt werden sollen oder nicht.
+
+
+ minute_interval
+ integer
+ Nein
+ 1
+ Definiert den Interval in der Minuten-Dropdown-Liste.
+
+
+ second_interval
+ integer
+ Nein
+ 1
+ Definiert den Interval in der Sekunden-Dropdown-Liste.
+
+
+ field_array
+ string
+ Nein
+ n/a
+ Gibt die Daten in einen Array dieses Namens aus.
+
+
+ all_extra
+ string
+ Nein
+ null
+ Fügt allen 'select'-Tags zusätzliche Attribute hinzu.
+
+
+ hour_extra
+ string
+ Nein
+ null
+ Fügt dem Stunden-'select'-Tag zusätzliche Attribute hinzu.
+
+
+ minute_extra
+ string
+ Nein
+ null
+ Fügt dem Minuten-'select'-Tag zusätzliche Attribute hinzu.
+
+
+ second_extra
+ string
+ Nein
+ null
+ Fügt dem Sekunden-'select'-Tag zusätzliche Attribute hinzu.
+
+
+ meridian_extra
+ string
+ No
+ null
+ Fügt dem Meridian-'select'-Tag zusätzliche Attribute hinzu.
+
+
+
+
+
+ 'html_select_time' wird verwendet um Zeit-Dropdown-Listen zu erzeugen.
+ Die Funktion kann alle oder eines der folgenden Felder ausgeben: Stunde, Minute, Sekunde und Meridian.
+
+
+html_select_time
+
+{html_select_time use_24_hours=true}
+
+
+AUSGABE:
+
+<select name="Time_Hour">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09" selected>09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+</select>
+<select name="Time_Minute">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20" selected>20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+<option value="32">32</option>
+<option value="33">33</option>
+<option value="34">34</option>
+<option value="35">35</option>
+<option value="36">36</option>
+<option value="37">37</option>
+<option value="38">38</option>
+<option value="39">39</option>
+<option value="40">40</option>
+<option value="41">41</option>
+<option value="42">42</option>
+<option value="43">43</option>
+<option value="44">44</option>
+<option value="45">45</option>
+<option value="46">46</option>
+<option value="47">47</option>
+<option value="48">48</option>
+<option value="49">49</option>
+<option value="50">50</option>
+<option value="51">51</option>
+<option value="52">52</option>
+<option value="53">53</option>
+<option value="54">54</option>
+<option value="55">55</option>
+<option value="56">56</option>
+<option value="57">57</option>
+<option value="58">58</option>
+<option value="59">59</option>
+</select>
+<select name="Time_Second">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23" selected>23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+<option value="32">32</option>
+<option value="33">33</option>
+<option value="34">34</option>
+<option value="35">35</option>
+<option value="36">36</option>
+<option value="37">37</option>
+<option value="38">38</option>
+<option value="39">39</option>
+<option value="40">40</option>
+<option value="41">41</option>
+<option value="42">42</option>
+<option value="43">43</option>
+<option value="44">44</option>
+<option value="45">45</option>
+<option value="46">46</option>
+<option value="47">47</option>
+<option value="48">48</option>
+<option value="49">49</option>
+<option value="50">50</option>
+<option value="51">51</option>
+<option value="52">52</option>
+<option value="53">53</option>
+<option value="54">54</option>
+<option value="55">55</option>
+<option value="56">56</option>
+<option value="57">57</option>
+<option value="58">58</option>
+<option value="59">59</option>
+</select>
+<select name="Time_Meridian">
+<option value="am" selected>AM</option>
+<option value="pm">PM</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-html-table.xml b/docs/de/designers/language-custom-functions/language-function-html-table.xml
new file mode 100644
index 00000000..0b892edf
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-html-table.xml
@@ -0,0 +1,145 @@
+
+
+
+ html_table (Ausgabe von HTML-TABLE Tag)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standartwert
+ Beschreibung
+
+
+
+
+ loop
+ array
+ Ja
+ n/a
+ Array mit den Daten für den Loop
+
+
+ cols
+ integer
+ Nein
+ 3
+ Anzahl Spalten in einer Tabelle
+
+
+ table_attr
+ string
+ No
+ border="1"
+ Attribute für das Table-Tag
+
+
+ tr_attr
+ string
+ No
+ empty
+ Attribute für das tr-Tag (Arrays werden durchlaufen)
+
+
+ td_attr
+ string
+ No
+ empty
+ Attribute für das tr-Tag (Arrays werden durchlaufen)
+
+
+ trailpad
+ string
+ No
+
+ Wert für leere Zellen
+
+
+
+ hdir
+ string
+ No
+ right
+ Richtung in der die Zeilen gerendered werden. Mögliche Werte: left/right
+
+
+ vdir
+ string
+ No
+ down
+ Richtung in der die Spalten gerendered werden. Mögliche Werte: up/down
+
+
+
+
+
+ html_table ist eine eigene Funktion die einen Array als
+ Tabelle ausgibt. Das cols Attribut definiert die Menge
+ von Spalten die ausgegeben werden sollen. table_attr, tr_attr
+ und td_attr definieren die Attribute für die HTML Tags. Wenn tr_attr
+ oder td_attr Arrays sind, werden diese durchlaufen. trailpad
+ wird in leere Zellen eingefügt.
+
+
+html_table
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('data',array(1,2,3,4,5,6,7,8,9));
+$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{html_table loop=$data}
+{html_table loop=$data cols=4 table_attr='border="0"'}
+{html_table loop=$data cols=4 tr_attr=$tr}
+
+AUSGABE:
+
+<table border="1">
+<tr><td>1</td><td>2</td><td>3</td></tr>
+<tr><td>4</td><td>5</td><td>6</td></tr>
+<tr><td>7</td><td>8</td><td>9</td></tr>
+</table>
+<table border="0">
+<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
+<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
+<tr><td>9</td><td> </td><td> </td><td> </td></tr>
+</table>
+<table border="1">
+<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr>
+<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr>
+<tr bgcolor="#eeeeee"><td>9</td><td> </td><td> </td><td> </td></tr>
+</table>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-math.xml b/docs/de/designers/language-custom-functions/language-function-math.xml
new file mode 100644
index 00000000..69538155
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-math.xml
@@ -0,0 +1,151 @@
+
+
+
+ math (Mathematik)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ equation
+ string
+ Ja
+ n/a
+ Der auszuführende Vergleich.
+
+
+ format
+ string
+ Nein
+ n/a
+ Format der Ausgabe. (sprintf)
+
+
+ var
+ numeric
+ Ja
+ n/a
+ Wert der Vergleichsvariable.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Template-Variable welcher die Ausgabe zugewiesen werden soll.
+
+
+ [var ...]
+ numeric
+ Yes
+ n/a
+ Zusätzliche Werte.
+
+
+
+
+
+ 'math' ermöglicht es dem Designer, mathematische Gleichungen
+ durchzuführen. Alle numerischen Template-Variablen
+ können dazu verwendet werden und die Ausgabe wird an
+ die Stelle des Tags geschrieben. Die Variablen werden
+ der Funktion als Parameter übergeben, dabei kann es sich
+ um statische oder um Template-Variablen handeln. Erlaubte Operatoren
+ umfassen: +, -, /, *, abs, ceil, cos, exp, floor, log, log10, max,
+ min, pi, pow, rand, round, sin, sqrt, srans und tan. Konsultieren Sie
+ die PHP-Dokumentation für zusätzliche Informationen zu dieser
+ Funktion.
+
+
+ Falls Sie die spezielle 'assign' Variable übergeben, wird die
+ Ausgabe der 'math'-Funktion der Template-Variablen mit dem selben
+ Namen zugewiesen anstatt ausgegeben zu werden.
+
+
+ Technische Bemerkung
+
+ Die 'math'-Funktion ist wegen ihres Gebrauchs der 'eval()'-Funktion
+ äusserst Ressourcen intensiv. Mathematik direkt im PHP-Skript
+ zu verwenden ist wesentlich performanter. Sie sollten daher
+ - wann immer möglich - auf die Verwendung verzichten. Stellen
+ Sie jedoch auf jeden Fall sicher, dass Sie keine 'math'-Tags in 'sections'
+ oder anderen 'loop'-Konstrukten verwenden.
+
+
+
+math (Mathematik)
+
+{* $height=4, $width=5 *}
+
+{math equation="x + y" x=$height y=$width}
+
+AUSGABE:
+
+9
+
+
+{* $row_height = 10, $row_width = 20, #col_div# = 2, aus Template zugewiesen *}
+
+{math equation="height * width / division"
+ height=$row_height
+ width=$row_width
+ division=#col_div#}
+
+AUSGABE:
+
+100
+
+
+
+{* Sie können auch Klammern verwenden *}
+
+{math equation="(( x + y ) / z )" x=2 y=10 z=2}
+
+AUSGABE:
+
+6
+
+
+
+{* Sie können als Ausgabeformat alle von sprintf unterstötzen Definitionen verwenden *}
+
+{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
+
+AUSGABE:
+
+9.44
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-popup-init.xml b/docs/de/designers/language-custom-functions/language-function-popup-init.xml
new file mode 100644
index 00000000..31941ca0
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-popup-init.xml
@@ -0,0 +1,47 @@
+
+
+
+ popup_init (Popup Initialisieren)
+
+ 'popup' ist eine Integration von 'overLib', einer Javascript
+ Library für 'popup'-Fenster. Dies kann verwendet werden um
+ Zusatzinformationen als Context-Menu oder Tooltip auszugeben.
+ 'popup_init' muss am Anfang jedes Templates aufgerufen werden,
+ falls Sie planen darin die popup-Funktion
+ zu verwenden. Der Author von 'overLib' ist Erik Bosrup, und die
+ Homepage ist unter http://www.bosrup.com/web/overlib/ erreichbar.
+
+
+ Seit Smarty 2.1.2 wird 'overLib' NICHT mehr mitgeliefert. Laden
+ Sie 'overLib' herunter und platzieren Sie es in Ihrer Document Root.
+ Danach können Sie mit dem Attribut 'src' definieren an welcher
+ Stelle die Datei liegt.
+
+
+popup_init
+
+
+{* 'popup_init' muss einmalig am Anfang der Seite aufgerufen werden *}
+{popup_init src="/javascripts/overlib.js"}
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-popup.xml b/docs/de/designers/language-custom-functions/language-function-popup.xml
new file mode 100644
index 00000000..27de472c
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-popup.xml
@@ -0,0 +1,411 @@
+
+
+
+ popup (Popup-Inhalt definieren)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ text
+ string
+ Ja
+ n/a
+ Text/HTML der im Popup ausgegeben werden soll.
+
+
+ trigger
+ string
+ Nein
+ onMouseOver
+ Definiert bei welchem Event das Popup aufgerufen werden soll. Erlaubte Werte sind: onMouseOver und onClick
+
+
+ sticky
+ boolean
+ Nein
+ false
+ Definiert ob das Popup geöffnet bleiben soll bis es manuell geschlossen wird.
+
+
+ caption
+ string
+ Nein
+ n/a
+ Definiert die Überschrift.
+
+
+ fgcolor
+ string
+ Nein
+ n/a
+ Hintergrundfarbe des Popups.
+
+
+ bgcolor
+ string
+ Nein
+ n/a
+ Rahmenfarbe des Popups.
+
+
+ textcolor
+ string
+ Nein
+ n/a
+ Farbe des Textes im Popup.
+
+
+ capcolor
+ string
+ Nein
+ n/a
+ Farbe der Popup-Überschrift.
+
+
+ closecolor
+ string
+ Nein
+ n/a
+ Die Farbe des 'close'-Textes.
+
+
+ textfont
+ string
+ Nein
+ n/a
+ Die Farbe des Textes.
+
+
+ captionfont
+ string
+ Nein
+ n/a
+ Die Schriftart für die Überschrift.
+
+
+ closefont
+ string
+ Nein
+ n/a
+ Die Schriftart für den 'close'-Text.
+
+
+ textsize
+ string
+ Nein
+ n/a
+ Die Schriftgrösse des Textes.
+
+
+ captionsize
+ string
+ Nein
+ n/a
+ Die Schriftgrösse der Überschrift.
+
+
+ closesize
+ string
+ Nein
+ n/a
+ Die Schriftgrösse des 'close'-Textes.
+
+
+ width
+ integer
+ Nein
+ n/a
+ Die Breite der Popup-Box.
+
+
+ height
+ integer
+ Nein
+ n/a
+ Die Höhe der Popup-Box.
+
+
+ left
+ boolean
+ Nein
+ false
+ Öffnet die Popup-Box links von Mauszeiger.
+
+
+ right
+ boolean
+ Nein
+ false
+ Öffnet die Popup-Box rechts von Mauszeiger.
+
+
+ center
+ boolean
+ Nein
+ false
+ Öffnet die Popup-Box in der Mitte des Mauszeigers.
+
+
+ above
+ boolean
+ Nein
+ false
+ Öffnet die Popup-Box oberhalb des Mauszeigers. Achtung: nur möglich wenn 'height' definiert ist.
+
+
+ below
+ boolean
+ Nein
+ false
+ Öffnet die Popup-Box unterhalb des Mauszeigers.
+
+
+ border
+ integer
+ Nein
+ n/a
+ Die Rahmenbreite der Popup-Box.
+
+
+ offsetx
+ integer
+ Nein
+ n/a
+ Horizontale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.
+
+
+ offsety
+ integer
+ Nein
+ n/a
+ Vertikale Distanz zum Mauszeiger bei der das Popup geöffnet bleibt.
+
+
+ fgbackground
+ url to image
+ Nein
+ n/a
+ Das Hintergundbild.
+
+
+ bgbackground
+ url to image
+ Nein
+ n/a
+
+ Definiert das Bild welches verwendet werden soll um den Rahmen zu zeichnen.
+ Achtung: Sie müssen 'bgcolor' auf '' setzen, da die Farbe sonst angezeigt wird.
+ Achtung: Wenn sie einen 'close'-Link verwenden, wird Netscape (4.x) die Zellen
+ mehrfach rendern, was zu einer falschen Anzeige führen kann.
+
+
+
+ closetext
+ string
+ Nein
+ n/a
+ Definiert den Text des 'close'-Links.
+
+
+ noclose
+ boolean
+ Nein
+ n/a
+ Zeigt den 'close'-Link nicht an.
+
+
+ status
+ string
+ Nein
+ n/a
+ Definiert den Text der in der Browser-Statuszeile ausgegeben wird.
+
+
+ autostatus
+ boolean
+ Nein
+ n/a
+ Gibt als Statusinformationen den Popup-Text aus. Achtung: Dies überschreibt die definierten Statuswerte.
+
+
+ autostatuscap
+ string
+ Nein
+ n/a
+ Zeigt in der Statusleiste den Wert der Popup-Überschrift an. Achtung: Dies überschreibt die definierten Statuswerte.
+
+
+ inarray
+ integer
+ Nein
+ n/a
+
+ Weist 'overLib' an, den Wert aus dem in 'overlib.js' definierten Array 'ol_text' zu lesen.
+
+
+ caparray
+ integer
+ Nein
+ n/a
+ Weist 'overLib' an, die Überschrift aus dem in 'overlib.js' definierten Array 'ol_caps' zu lesen.
+
+
+ capicon
+ url
+ Nein
+ n/a
+ Zeigt das übergebene Bild vor der Überschrift an.
+
+
+ snapx
+ integer
+ Nein
+ n/a
+ Aliniert das Popup an einem horizontalen Gitter.
+
+
+ snapy
+ integer
+ Nein
+ n/a
+ Aliniert das Popup an einem vertikalen Gitter.
+
+
+ fixx
+ integer
+ Nein
+ n/a
+ Fixiert das Popup an der definierten horizontalen Position. Achtung: überschreibt alle anderen horizontalen Positionen.
+
+
+ fixy
+ integer
+ Nein
+ n/a
+ Fixiert das Popup an der definierten vertikalen Position. Achtung: überschreibt alle anderen vertikalen Positionen.
+
+
+ background
+ url
+ Nein
+ n/a
+ Definiert das Hintergrundbild welches anstelle des Tabellenhintergrundes verwendet werden soll.
+
+
+ padx
+ integer,integer
+ Nein
+ n/a
+ Erzeugt horizontale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.
+
+
+ pady
+ integer,integer
+ Nein
+ n/a
+ Erzeugt vertikale Leerzeichen, um den Text platzieren zu können. Achtung: Dies ist eine 2-Parameter Funktion.
+
+
+ fullhtml
+ boolean
+ Nein
+ n/a
+ Lässt Sie den HTML-Code betreffend einem Hintergrundbild komplett kontrollieren.
+
+
+ frame
+ string
+ Nein
+ n/a
+ Kontrolliert Popups in einem anderen Frame. Sehen sie die 'overLib'-Seite für zusätzliche Informationen zu dieser Funktion.
+
+
+ timeout
+ string
+ Nein
+ n/a
+ Führt die übergebene Javascript-Funktion aus, und verwendet deren Ausgabe als Text für das Popup.
+
+
+ delay
+ integer
+ Nein
+ n/a
+ Macht, dass sich das Popup wie ein Tooltip verhält, und nach den definierten Millisekunden verschwindet.
+
+
+ hauto
+ boolean
+ Nein
+ n/a
+ Lässt 'overLib' automatisch definieren an welcher Seite (links/rechts) des Mauszeigers das Popup ausgegeben werden soll.
+
+
+ vauto
+ boolean
+ Nein
+ n/a
+ Lässt 'overLib' automatisch definieren an welcher Seite (oben/unten) des Mauszeigers das Popup ausgegeben werden soll.
+
+
+
+
+
+ 'popup' wird verwendet um Javascript-Popup-Fenster zu erzeugen.
+
+
+popup
+
+
+{* 'popup_init' muss am Anfang jeder Seite aufgerufen werden die 'popup' verwendet *}
+{popup_init src="/javascripts/overlib.js"}
+
+{* create a link with a popup window when you move your mouse over *}
+{* ein link mit einem Popup welches geöffnet wird wenn die Maus über dem Link ist. *}
+<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A>
+
+
+{* Sie können in einem Popup text, html, links und weiteres verwenden *}
+<A href="mypage.html" {popup sticky=true caption="mypage contents"
+text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A>
+
+AUSGABE:
+
+
+(Für Beispiele können Sie sich die Smarty Homepage anschauen.)
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-custom-functions/language-function-textformat.xml b/docs/de/designers/language-custom-functions/language-function-textformat.xml
new file mode 100644
index 00000000..c1b69285
--- /dev/null
+++ b/docs/de/designers/language-custom-functions/language-function-textformat.xml
@@ -0,0 +1,251 @@
+
+
+
+ textformat (Textformatierung)
+
+
+
+
+
+
+
+
+
+ Attribut Name
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ style
+ string
+ Nein
+ n/a
+ aktueller Stil
+
+
+ indent
+ number
+ Nein
+ 0
+ Anzahl Zeichen die für das einrücken von Zeilen verwendet werden.
+
+
+ indent_first
+ number
+ Nein
+ 0
+ Anzahl Zeichen die für das Einrücken der ersten Zeile verwendet werden.
+
+
+ indent_char
+ string
+ Nein
+ (single space)
+ Das Zeichen welches zum Einrücken verwendet werden soll.
+
+
+ wrap
+ number
+ Nein
+ 80
+ Maximale Zeilenlänge bevor die Zeile umgebrochen wird.
+
+
+ wrap_char
+ string
+ Nein
+ \n
+ Das für Zeilenumbrüche zu verwendende Zeichen.
+
+
+ wrap_cut
+ boolean
+ Nein
+ false
+ Wenn auf 'true' gesetzt, wird die Zeile an der definierten Position abgeschnitten.
+
+
+ assign
+ string
+ Nein
+ n/a
+ Die Template-Variable welcher die Ausgabe zugewiesen werden soll.
+
+
+
+
+
+ 'textformat' ist eine Funktion um Text zu formatieren. Die Funktion
+ entfernt überflüssige Leerzeichen und formatiert Paragrafen
+ indem sie die Zeilen einrückt und umbricht.
+
+
+ Sie können entweder den aktuellen Stil verwenden, oder ihn anhand
+ der Parameter selber definieren. Im Moment ist 'email' der einzig verfügbare Stil.
+
+
+textformat (Text Formatierung)
+
+{textformat wrap=40}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+AUSGABE:
+
+This is foo. This is foo. This is foo.
+This is foo. This is foo. This is foo.
+
+This is bar.
+
+bar foo bar foo foo. bar foo bar foo
+foo. bar foo bar foo foo. bar foo bar
+foo foo. bar foo bar foo foo. bar foo
+bar foo foo. bar foo bar foo foo.
+
+
+{textformat wrap=40 indent=4}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+AUSGABE:
+
+ This is foo. This is foo. This is
+ foo. This is foo. This is foo. This
+ is foo.
+
+ This is bar.
+
+ bar foo bar foo foo. bar foo bar foo
+ foo. bar foo bar foo foo. bar foo
+ bar foo foo. bar foo bar foo foo.
+ bar foo bar foo foo. bar foo bar
+ foo foo.
+
+{textformat wrap=40 indent=4 indent_first=4}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+AUSGABE:
+
+ This is foo. This is foo. This
+ is foo. This is foo. This is foo.
+ This is foo.
+
+ This is bar.
+
+ bar foo bar foo foo. bar foo bar
+ foo foo. bar foo bar foo foo. bar
+ foo bar foo foo. bar foo bar foo
+ foo. bar foo bar foo foo. bar foo
+ bar foo foo.
+
+{textformat style="email"}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+AUSGABE:
+
+This is foo. This is foo. This is foo. This is foo. This is foo. This is
+foo.
+
+This is bar.
+
+bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo
+bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo
+foo.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers.xml b/docs/de/designers/language-modifiers.xml
index b8d03438..f5e3664e 100644
--- a/docs/de/designers/language-modifiers.xml
+++ b/docs/de/designers/language-modifiers.xml
@@ -35,953 +35,26 @@ Thema: {$thema|truncate:40:"..."}
müssen alle verwendeten PHP Funktionen im $security_settings['MODIFIER_FUNCS']-Array
enthalten sein.
-
- capitalize (in Grossbuchstaben schreiben)
-
- Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben.
-
-
- capitalize (in Grossbuchstaben schreiben)
-
-{$artikelTitel}
-{$artikelTitel|capitalize}
-
-AUSGABE:
-
-diebe haben in norwegen 20 tonnen streusalz entwendet.
-Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet.
-
-
-
- count_characters (Buchstaben zählen)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Benötigt
- Standard
- Beschreibung
-
-
-
-
- 1
- boolean
- Nein
- false
- Definiert ob Leerzeichen mitgezählt werden sollen.
-
-
-
-
-
- Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben.
-
-
-count_characters (Buchstaben zählen)
-
-
-{$artikelTitel}
-{$artikelTitel|count_characters}
-{$artikelTitel|count_characters:true}
-
-AUSGABE:
-
-20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte.
-72
-61
-
-
-
- cat
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Benötigt
- Standard
- Beschreibung
-
-
-
-
- 1
- string
- Nein
- leer/empty
- Wert der an die Variable angefügt werden soll.
-
-
-
-
-
- Dieser Wert wird der aktuellen Variable hinzugefügt.
-
-
-cat
-
-index.php:
-
-$smarty = new Smarty;
-$smarty->assign('articleTitle', "Psychics predict world didn't end");
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{$articleTitle|cat:" yesterday."}
-
-OUTPUT:
-
-Psychics predict world didn't end yesterday.
-
-
-
- count_paragraphs (Absätze zählen)
-
- Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln.
-
-
-count_paragraphs (Paragrafen zählen)
-
-
-{$artikelTitel}
-{$artikelTitel|count_paragraphs}
-
-AUSGABE:
-
-Britische Spezialeinheiten sind aufgrund eines "Navigationsfehlers" nicht wie beabsichtigt in Gibraltar an Land gegangen, sondern an einem Badestrand, der zu Spanien gehört.
-
-Ein spanischer Lokführer hat aus Protest gegen die Arbeitsbedingungen nach gearbeiteten acht Stunden einfach seinen Zug stehen lassen, in dem sich allerdings noch 132 Passagiere befanden.
-2
-
-
-
- count_sentences (Sätze zählen)
-
- Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln.
-
-
-count_sentences (Sätze zählen)
-
-
-{$artikelTitel}
-{$artikelTitel|count_sentences}
-
-AUSGABE:
-
-Zwei Deutsche haben die sogenannte "Painstation" vorgestellt. Bei Fehlern im Spiel wird der Spieler durch Elektroschocks aus der Konsole bestraft. Wer länger aushält, hat gewonnen.
-3
-
-
-
- count_words (Wörter zählen)
-
- Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln.
-
-
-count_words (Wörter zählen)
-
-
-{$artikelTitel}
-{$artikelTitel|count_words}
-
-AUSGABE:
-
-Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose.
-12
-
-
-
- date_format (Datums Formatierung)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Nein
- %b %e, %Y
- Das Format des ausgegebenen Datums.
-
-
- 2
- string
- Nein
- n/a
- Der Standardwert (Datum) wenn die Eingabe leer ist.
-
-
-
-
-
- Formatiert Datum und Uhrzeit in das definierte 'strftime()'-Format.
- Daten können als Unix-Timestamps, MySQL-Timestamps
- und jeder Zeichenkette die aus 'Monat Tag Jahr' (von strtotime parsebar) besteht
- übergeben werden. Designer können 'date_format' verwenden,
- um vollständige Kontrolle über das Format des Datums zu erhalten.
- Falls das übergebene Datum leer ist und der zweite Parameter
- übergeben wurde, wird dieser formatiert und ausgegeben.
-
-
-date_format (Datums Formatierung)
-
-{$smarty.now|date_format}
-{$smarty.now|date_format:"%A, %B %e, %Y"}
-{$smarty.now|date_format:"%H:%M:%S"}
-
-AUSGABE:
-
-Feb 6, 2001
-Tuesday, February 6, 2001
-14:33:00
-
-
-'date_format' Konvertierungs Spezifikation
-
-%a - abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung
-
-%A - ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung
-
-%b - abgekürzter Name des Monats, abhängig von der gesetzten Umgebung
-
-%B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung
-
-%c - Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung
-
-%C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99)
-
-%d - Tag des Monats als Zahl (Bereich 00 bis 31)
-
-%D - so wie %m/%d/%y
-
-%e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt (Wertebereich ґ 0ґ bis ґ31ґ)
-
-%g - wie %G, aber ohne Jahrhundert.
-
-%G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V). Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: entspricht die ISO Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet.
-
-%h - so wie %b
-
-%H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
-
-%I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
-
-%j - Tag des Jahres als Zahl (Bereich 001 bis 366)
-
-%m - Monat als Zahl (Bereich 01 bis 12)
-
-%M - Minute als Dezimal-Wert
-
-%n - neue Zeile
-
-%p - entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung
-
-%r - Zeit im Format a.m. oder p.m.
-
-%R - Zeit in der 24-Stunden-Formatierung
-
-%S - Sekunden als Dezimal-Wert
-
-%t - Tabulator
-
-%T - aktuelle Zeit, genau wie %H:%M:%S
-
-%u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag.
-
-%U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert, beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche.
-
-%V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.)
-
-%w - Wochentag als Dezimal-Wert, Sonntag ist 0
-
-%W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche.
-
-%x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der gesetzten Umgebung.
-
-%X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der gesetzten Umgebung.
-
-%y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
-
-%Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts
-
-%Z - Zeitzone, Name oder eine Abkürzung
-
-%% - ein %-Zeichen
-
-BEMERKUNG FÜR PROGRAMMIERER: 'date_format' ist ein wrapper für PHP's 'strftime()'-Funktion.
-Je nachdem auf welchem System ihr PHP kompiliert wurde, ist es durchaus möglich, dass nicht alle
-angegebenen Formatierungszeichen unterstützt werden. Beispielsweise stehen %e, %T, %R und %D
-(eventuell weitere) auf Windowssystemen nicht zur Verfügung.
-
-
-
- default (Standardwert)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Nein
- leer
- Dieser Wert wird ausgegeben wenn die Variable leer ist.
-
-
-
-
-
- Wird verwendet um den Standardwert einer Variable festzulegen.
- Falls die Variable leer ist oder nicht gesetzt wurde,
- wird dieser Standardwert ausgegeben.
- Default (Standardwert) hat 1 Parameter.
-
-
-default (Standardwert)
-
-{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *}
-{$artikelTitel|default:"kein Titel"}
-
-AUSGABE:
-
-kein Titel
-
-
-
- escape (Maskieren)
-
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Mögliche (erlaubte) Werte
- Standardwerte
- Beschreibung
-
-
-
-
- 1
- string
- Nein
- html, htmlall, url, quotes, hex, hexentity
- html
- Definiert die zu verwendende Maskierung.
-
-
-
-
-
- Wird verwendet um eine Variable mit HTML, URL oder
- einfachen Anführungszeichen, beziehungsweise Hex oder Hex-Entitäten
- zu maskieren. Hex und Hex-Entity kann verwendet werden um "mailto:"
- -Links so zu verändern, dass sie von Web-Spiders (E-Mail Sammlern)
- verborgen bleiben und dennoch les-/linkbar für Webbrowser bleiben.
- Als Standard, wird 'HTML'-Maskierung verwendet.
-
-
-escape (Maskieren)
-
-index.php:
-
-$smarty = new Smarty;
-$smarty->assign('TitreArticle', "'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'");
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{$artikelTitel}
-{$artikelTitel|escape}
-{$artikelTitel|escape:"html"} {* maskiert & " ' < > *}
-{$artikelTitel|escape:"htmlall"} {* maskiert ALLE html Entitäten *}
-{$artikelTitel|escape:"url"}
-{$artikelTitel|escape:"quotes"}
-<a href="mailto:{$EmailAdresse|escape:"hex"}">{$EmailAdresse|escape:"hexentity"}</a>
-
-AUSGABE:
-
-'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
-'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
-'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
-'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
-%27Zwei+Unbekannte+haben+im+Lidl+in+Monheim+24+Pakete+Kaffee+gestohlen.%27
-\'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.\'
-<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net</a>
-
-
-
- indent (Einrücken)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- integer
- Nein
- 4
- Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken.
-
-
- 2
- string
- Nein
- (ein Leerschlag)
- Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken.
-
-
-
-
-
- Wird verwendet, um eine Zeichenkette auf jeder Zeile einzurücken.
- Optionaler Parameter ist die Anzahl der Zeichen,
- um die der Text eingerückt werden soll. Standardlänge ist 4.
- Als zweiten optionalen Parameter können sie ein Zeichen übergeben,
- das für die Einrückung verwendet werden soll (für Tabulatoren: '\t').
-
-
-indent (Einrücken)
-
-{$arikelTitel}
-
-{$arikelTitel|indent}
-
-{$arikelTitel|indent:10}
-
-{$arikelTitel|indent:1:"\t"}
-
-AUSGABE:
-
-Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
-nicht mehr und meldete es als gestohlen. Ein Jahr später
-besuchte er den Ort wieder und erinnerte sich, dass er
-das Auto nur an einem anderen Ort abgestellt hatte -
-dort stand das Fahrzeug nach einem Jahr auch noch.
-
- Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
- nicht mehr und meldete es als gestohlen. Ein Jahr später
- besuchte er den Ort wieder und erinnerte sich, dass er
- das Auto nur an einem anderen Ort abgestellt hatte -
- dort stand das Fahrzeug nach einem Jahr auch noch.
-
- Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
- nicht mehr und meldete es als gestohlen. Ein Jahr später
- besuchte er den Ort wieder und erinnerte sich, dass er
- das Auto nur an einem anderen Ort abgestellt hatte -
- dort stand das Fahrzeug nach einem Jahr auch noch.
-
- Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
- nicht mehr und meldete es als gestohlen. Ein Jahr später
- besuchte er den Ort wieder und erinnerte sich, dass er
- das Auto nur an einem anderen Ort abgestellt hatte -
- dort stand das Fahrzeug nach einem Jahr auch noch.
-
-
-
- lower (in Kleinbuchstaben schreiben)
-
- Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben.
-
-
-lower (in Kleinbuchstaben schreiben)
-
-{$artikelTitel}
-{$artikelTitel|lower}
-
-AUSGABE:
-
-In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen.
-in kalifornien wurde ein hund in das wählerverzeichnis eingetragen.
-
-
-
- regex_replace (Ersetzen mit regulären Ausdrücken)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Ja
- n/a
- Definiert das zu ersetzende Suchmuster, als regulären Ausdruck.
-
-
- 2
- string
- Ja
- n/a
- Definiert die ersetzende Zeichenkette.
-
-
-
-
-
- Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace().
-
-
-regex_replace (Ersetzen mit regulären Ausdrücken)
-
-{* Ersetzt jeden Zeilenumbruch-Tabulator-Neuezeile, durch ein Leerzeichen. *}
-
-{$artikelTitel}
-{$artikelTitel|regex_replace:"/[\r\t\n]/":" "}
-
-AUSGABE:
-
-Ein Bankangestellter in England zerkaut aus Stress
- bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung.
-Ein Bankangestellter in England zerkaut aus Stress bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung.
-
-
-
- replace (Ersetzen)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Ja
- n/a
- Die zu ersetzende Zeichenkette.
-
-
- 2
- string
- Ja
- n/a
- Die ersetzende Zeichenkette.
-
-
-
-
-
- Einfaches suchen/ersetzen in einer Variable.
-
-
-replace (Ersetzen)
-
-{$artikelTitel}
-{$artikelTitel|replace:"Fracht":"Lieferung"}
-{$artikelTitel|replace:" ":" "}
-
-AUSGABE:
-
-Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann.
-Ein Holsten-Laster hat in England seine komplette Lieferung verloren, die nun von jedermann aufgesammelt werden kann.
-Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann.
-
-
-
-
- spacify (Zeichenkette splitten)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Nein
- ein Leerzeichen
- Definiert die zwischen allen Zeichen einzufügende Zeichenkette.
-
-
-
-
-
- Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein.
- Eine alternativ einzufügende Zeichenkette kann über
- den ersten Parameter definiert werden.
-
-
-spacify (Zeichenkette splitten)
-
-{$artikelTitel}
-{$artikelTitel|spacify}
-{$artikelTitel|spacify:"^^"}
-
-AUSGABE:
-
-Ein Mann flog 5000 km um sich die Haare schneiden zu lassen. Grund: Seine offensichtlich begnadete Friseuse zog von den Bermudas nach England und bis dato fand er keine Neue.
-E i n M a n n f l o g 5 0 0 0 k m u m s i c h d i e H a a r e s c h n e i d e n z u l a s s e n . G r u n d : S e i n e o f f e n s i c h t l i c h b e g n a d e t e F r i s e u s e z o g v o n d e n B e r m u d a s n a c h E n g l a n d u n d b i s d a t o f a n d e r k e i n e N e u e .
-E^^i^^n^^ ^^M^^a^^n^^n^^ ^^f^^l^^o^^g^^ ^^5^^0^^0^^0^^ ^^k^^m^^ ^^u^^m^^ ^^s^^i^^c^^h^^ ^^d^^i^^e^^ ^^H^^a^^a^^r^^e^^ ^^s^^c^^h^^n^^e^^i^^d^^e^^n^^ ^^z^^u^^ ^^l^^a^^s^^s^^e^^n^^.^^ ^^G^^r^^u^^n^^d^^:^^ ^^S^^e^^i^^n^^e^^ ^^o^^f^^f^^e^^n^^s^^i^^c^^h^^t^^l^^i^^c^^h^^ ^^b^^e^^g^^n^^a^^d^^e^^t^^e^^ ^^F^^r^^i^^s^^e^^u^^s^^e^^ ^^z^^o^^g^^ ^^v^^o^^n^^ ^^d^^e^^n^^ ^^B^^e^^r^^m^^u^^d^^a^^s^^ ^^n^^a^^c^^h^^ ^^E^^n^^g^^l^^a^^n^^d^^ ^^u^^n^^d^^ ^^b^^i^^s^^ ^^d^^a^^t^^o^^ ^^f^^a^^n^^d^^ ^^e^^r^^ ^^k^^e^^i^^n^^e^^ ^^N^^e^^u^^e^^.^^
-
-
-
- string_format (Zeichenkette formatieren)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erfoderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- string
- Ja
- n/a
- Das zu verwendende Format (sprintf).
-
-
-
-
-
- Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren.
- Folgt der Formatierungs-Syntax von sprintf.
-
-
-string_format (Zeichenkette formatieren)
-
-{$wert}
-{$wert|string_format:"%.2f"}
-{$wert|string_format:"%d"}
-
-AUSGABE:
-
-23.5787446
-23.58
-24
-
-
-
- strip (Zeichenkette strippen)
-
- Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen
- oder eine alternative Zeichenkette.
-
-
- Achtung
-
- Falls Sie ganze Blöcke eines Templates 'strippen' möchten,
- verwenden Sie dazu strip.
-
-
-
-strip (Zeichenkette strippen)
-
-{$artikelTitel}
-{$artikelTitel|strip}
-{$artikelTitel|strip:" "}
-
-AUSGABE:
-
-Ein 18 Jahre alter Pappkarton
- erzielte bei Ebay einen Erlös von
- 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
-Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
-Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
-
-
-
- strip_tags (HTML-Tags entfernen)
-
- Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind.
-
-
-strip_tags (HTML-Tags entfernen)
-
-{$atrikelTitel}
-{$atrikelTitel|strip_tags}
-
-AUSGABE:
-
-Da ein <font face="helvetica">betrunkener Mann</font> auf einem Flug ausfallend wurde, musste <b>das Flugzeug</b> auf einer kleinen Insel zwischenlanden und den Mann aussetzen.
-Da ein betrunkener Mann auf einem Flug ausfallend wurde, musste das Flugzeug auf einer kleinen Insel zwischenlanden und den Mann aussetzen.
-
-
-
- truncate (kürzen)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- integer
- Nein
- 80
- Länge, auf die die Zeichenkette gekürzt werden soll.
-
-
- 2
- string
- Nein
- ...
- An die gekürzte Zeichenkette anzuhängende Zeichenkette.
-
-
- 3
- boolean
- Nein
- false
- Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen.
-
-
-
-
-
- Kürzt die Variable auf eine definierte Länge. Standardwert sind 80 Zeichen.
- Als optionaler zweiter Parameter kann eine Zeichenkette übergeben werden, welche
- der gekürzten Variable angehängt wird. Diese zusätzliche Zeichenkette
- wird bei der Berechnung der Länge berücksichtigt. Normalerweise wird
- 'truncate' versuchen, die Zeichenkette zwischen zwei Wörtern umzubrechen. Um die
- Zeichenkette exakt an der definierten Position abzuscheiden,
- können sie als dritten Parameter 'true' übergeben.
-
-
-truncate (kürzen)
-
-{$artikelTitel}
-{$artikelTitel|truncate}
-{$artikelTitel|truncate:30}
-{$artikelTitel|truncate:30:""}
-{$artikelTitel|truncate:30:"---"}
-{$artikelTitel|truncate:30:"":true}
-{$artikelTitel|truncate:30:"...":true}
-
-AUSGABE:
-
-George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen.
-George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen.
-George W. Bush will die frei...
-George W. Bush will die frei
-George W. Bush will die frei---
-George W. Bush will die frei
-George W. Bush will die fr...
-
-
-
- upper (in Grossbuchstaben umwandeln)
-
- Wandelt eine Zeichenkette in Grossbuchstaben um.
-
-
-upper (in Grossbuchstaben umwandeln)
-
-{$artikelTitel}
-{$artikelTitel|upper}
-
-AUSGABE:
-
-Ein 58jähriger Belgier ist nach 35 Jahren zum Sieger der Weltmeisterschaft im Querfeldeinrennen 1967 erklärt worden - Grund: Ein damaliger Formfehler.
-EIN 58JÄHRIGER BELGIER IST NACH 35 JAHREN ZUM SIEGER DER WELTMEISTERSCHAFT IM QUERFELDEINRENNEN 1967 ERKLÄRT WORDEN - GRUND: EIN DAMALIGER FORMFEHLER.
-
-
-
- wordwrap (Zeilenumbruch)
-
-
-
-
-
-
-
-
-
- Parameter Position
- Typ
- Erforderlich
- Standardwert
- Beschreibung
-
-
-
-
- 1
- integer
- Nein
- 80
- Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette.
-
-
- 2
- string
- Nein
- \n
- Definiert das zu verwendende Zeichen.
-
-
- 3
- boolean
- Nein
- false
- Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true).
-
-
-
-
-
- Bricht eine Zeichenkette an einer definierten Stelle (Standardwert 80) um.
- Als optionaler zweiter Parameter kann das Zeichen übergeben werden,
- welches zum Umbrechen verwendet werden soll (Standardwert '\n'). Normalerweise
- bricht wordwrap nur zwischen zwei Wörtern um. Falls Sie exakt an der
- definierten Stelle umbrechen wollen, übergeben
- Sie als optionalen dritten Parameter 'true'.
-
-
-wordwrap (Zeilenumbruch)
-
-{$artikelTitel}
-
-{$artikelTitel|wordwrap:75}
-
-{$artikelTitel|wordwrap:50}
-
-{$artikelTitel|wordwrap:75:"<br>\n"}
-
-{$artikelTitel|wordwrap:75:"\n":true}
-
-AUSGABE:
-
-Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz danach zurück, um die Hose umzutauschen, weil die Grösse nicht passte.
-
-Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz
-danach zurück, um die Hose umzutauschen, weil die Grösse nicht
-passte.
-
-Eine Frau stahl in einem Bekleidungsgeschäft
-eine Hose und kam kurz danach zurück, um die
-Hose umzutauschen, weil die Grösse nicht
-passte.
-
-Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz<br>
-danach zurück, um die Hose umzutauschen, weil die Grösse nicht<br>
-passte.
-
-Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz d
-anach zurück, um die Hose umzutauschen, weil die Grösse nicht pass
-te.
-
-
+&designers.language-modifiers.language-modifier-capitalize;
+&designers.language-modifiers.language-modifier-count-characters;
+&designers.language-modifiers.language-modifier-cat;
+&designers.language-modifiers.language-modifier-count-paragraphs;
+&designers.language-modifiers.language-modifier-count-sentences;
+&designers.language-modifiers.language-modifier-count-words;
+&designers.language-modifiers.language-modifier-date-format;
+&designers.language-modifiers.language-modifier-default;
+&designers.language-modifiers.language-modifier-escape;
+&designers.language-modifiers.language-modifier-indent;
+&designers.language-modifiers.language-modifier-lower;
+&designers.language-modifiers.language-modifier-regex-replace;
+&designers.language-modifiers.language-modifier-replace;
+&designers.language-modifiers.language-modifier-spacify;
+&designers.language-modifiers.language-modifier-string-format;
+&designers.language-modifiers.language-modifier-strip;
+&designers.language-modifiers.language-modifier-strip-tags;
+&designers.language-modifiers.language-modifier-truncate;
+&designers.language-modifiers.language-modifier-upper;
+&designers.language-modifiers.language-modifier-wordwrap;
+
+ capitalize (in Grossbuchstaben schreiben)
+
+ Wird verwendet um den Anfangsbuchstaben aller Wörter in der Variable gross (upper case) zu schreiben.
+
+
+ capitalize (in Grossbuchstaben schreiben)
+
+{$artikelTitel}
+{$artikelTitel|capitalize}
+
+AUSGABE:
+
+diebe haben in norwegen 20 tonnen streusalz entwendet.
+Diebe Haben In Norwegen 20 Tonnen Streusalz Entwendet.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-cat.xml b/docs/de/designers/language-modifiers/language-modifier-cat.xml
new file mode 100644
index 00000000..ef8c8ee5
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-cat.xml
@@ -0,0 +1,72 @@
+
+
+
+ cat
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Benötigt
+ Standard
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Nein
+ leer/empty
+ Wert der an die Variable angefügt werden soll.
+
+
+
+
+
+ Dieser Wert wird der aktuellen Variable hinzugefügt.
+
+
+cat
+
+index.php:
+
+$smarty = new Smarty;
+$smarty->assign('articleTitle', "Psychics predict world didn't end");
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{$articleTitle|cat:" yesterday."}
+
+OUTPUT:
+
+Psychics predict world didn't end yesterday.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-count-characters.xml b/docs/de/designers/language-modifiers/language-modifier-count-characters.xml
new file mode 100644
index 00000000..f7212447
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-count-characters.xml
@@ -0,0 +1,69 @@
+
+
+
+ count_characters (Buchstaben zählen)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Benötigt
+ Standard
+ Beschreibung
+
+
+
+
+ 1
+ boolean
+ Nein
+ false
+ Definiert ob Leerzeichen mitgezählt werden sollen.
+
+
+
+
+
+ Wird verwendet um die Anzahl Buchstaben in einer Variable auszugeben.
+
+
+count_characters (Buchstaben zählen)
+
+
+{$artikelTitel}
+{$artikelTitel|count_characters}
+{$artikelTitel|count_characters:true}
+
+AUSGABE:
+
+20% der US-Amerikaner finden ihr Land (die USA) nicht auf der Landkarte.
+72
+61
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml
new file mode 100644
index 00000000..862932ce
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-count-paragraphs.xml
@@ -0,0 +1,42 @@
+
+
+
+ count_paragraphs (Absätze zählen)
+
+ Wird verwendet, um die Anzahl der Absätze in einer Variable zu ermitteln.
+
+
+count_paragraphs (Paragrafen zählen)
+
+
+{$artikelTitel}
+{$artikelTitel|count_paragraphs}
+
+AUSGABE:
+
+Britische Spezialeinheiten sind aufgrund eines "Navigationsfehlers" nicht wie beabsichtigt in Gibraltar an Land gegangen, sondern an einem Badestrand, der zu Spanien gehört.
+
+Ein spanischer Lokführer hat aus Protest gegen die Arbeitsbedingungen nach gearbeiteten acht Stunden einfach seinen Zug stehen lassen, in dem sich allerdings noch 132 Passagiere befanden.
+2
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml
new file mode 100644
index 00000000..d7b58e3d
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-count-sentences.xml
@@ -0,0 +1,40 @@
+
+
+
+ count_sentences (Sätze zählen)
+
+ Wird verwendet, um die Anzahl der Sätze in einer Variable zu ermitteln.
+
+
+count_sentences (Sätze zählen)
+
+
+{$artikelTitel}
+{$artikelTitel|count_sentences}
+
+AUSGABE:
+
+Zwei Deutsche haben die sogenannte "Painstation" vorgestellt. Bei Fehlern im Spiel wird der Spieler durch Elektroschocks aus der Konsole bestraft. Wer länger aushält, hat gewonnen.
+3
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-count-words.xml b/docs/de/designers/language-modifiers/language-modifier-count-words.xml
new file mode 100644
index 00000000..eb0ff54e
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-count-words.xml
@@ -0,0 +1,40 @@
+
+
+
+ count_words (Wörter zählen)
+
+ Wird verwendet, um die Anzahl Wörter in einer Variable zu ermiteln.
+
+
+count_words (Wörter zählen)
+
+
+{$artikelTitel}
+{$artikelTitel|count_words}
+
+AUSGABE:
+
+Südafrika: Eine Polizistin fesselte - mangels mitgebrachter Handschellen - drei Flüchtige mit ihrer Strumpfhose.
+12
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-date-format.xml b/docs/de/designers/language-modifiers/language-modifier-date-format.xml
new file mode 100644
index 00000000..3006bd62
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-date-format.xml
@@ -0,0 +1,159 @@
+
+
+
+ date_format (Datums Formatierung)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Nein
+ %b %e, %Y
+ Das Format des ausgegebenen Datums.
+
+
+ 2
+ string
+ Nein
+ n/a
+ Der Standardwert (Datum) wenn die Eingabe leer ist.
+
+
+
+
+
+ Formatiert Datum und Uhrzeit in das definierte 'strftime()'-Format.
+ Daten können als Unix-Timestamps, MySQL-Timestamps
+ und jeder Zeichenkette die aus 'Monat Tag Jahr' (von strtotime parsebar) besteht
+ übergeben werden. Designer können 'date_format' verwenden,
+ um vollständige Kontrolle über das Format des Datums zu erhalten.
+ Falls das übergebene Datum leer ist und der zweite Parameter
+ übergeben wurde, wird dieser formatiert und ausgegeben.
+
+
+date_format (Datums Formatierung)
+
+{$smarty.now|date_format}
+{$smarty.now|date_format:"%A, %B %e, %Y"}
+{$smarty.now|date_format:"%H:%M:%S"}
+
+AUSGABE:
+
+Feb 6, 2001
+Tuesday, February 6, 2001
+14:33:00
+
+
+'date_format' Konvertierungs Spezifikation
+
+%a - abgekürzter Name des Wochentages, abhängig von der gesetzten Umgebung
+
+%A - ausgeschriebener Name des Wochentages, abhängig von der gesetzten Umgebung
+
+%b - abgekürzter Name des Monats, abhängig von der gesetzten Umgebung
+
+%B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung
+
+%c - Wiedergabewerte für Datum und Zeit, abhängig von der gesetzten Umgebung
+
+%C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99)
+
+%d - Tag des Monats als Zahl (Bereich 00 bis 31)
+
+%D - so wie %m/%d/%y
+
+%e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird ein Leerzeichen voran gestellt (Wertebereich ґ 0ґ bis ґ31ґ)
+
+%g - wie %G, aber ohne Jahrhundert.
+
+%G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V). Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit: entspricht die ISO Wochennummer dem vorhergehenden oder folgenden Jahr, wird dieses Jahr verwendet.
+
+%h - so wie %b
+
+%H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
+
+%I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
+
+%j - Tag des Jahres als Zahl (Bereich 001 bis 366)
+
+%m - Monat als Zahl (Bereich 01 bis 12)
+
+%M - Minute als Dezimal-Wert
+
+%n - neue Zeile
+
+%p - entweder `am' oder `pm' (abhängig von der gesetzten Umgebung) oder die entsprechenden Zeichenketten der gesetzten Umgebung
+
+%r - Zeit im Format a.m. oder p.m.
+
+%R - Zeit in der 24-Stunden-Formatierung
+
+%S - Sekunden als Dezimal-Wert
+
+%t - Tabulator
+
+%T - aktuelle Zeit, genau wie %H:%M:%S
+
+%u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag.
+
+%U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert, beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche.
+
+%V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres. Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie %G or %g für die Jahreskomponente, die der Wochennummer für den gegebenen Timestamp entspricht.)
+
+%w - Wochentag als Dezimal-Wert, Sonntag ist 0
+
+%W - Nummer der Woche des aktuellen Jahres, beginnend mit dem ersten Montag als erstem Tag der ersten Woche.
+
+%x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der gesetzten Umgebung.
+
+%X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der gesetzten Umgebung.
+
+%y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
+
+%Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts
+
+%Z - Zeitzone, Name oder eine Abkürzung
+
+%% - ein %-Zeichen
+
+BEMERKUNG FÜR PROGRAMMIERER: 'date_format' ist ein wrapper für PHP's 'strftime()'-Funktion.
+Je nachdem auf welchem System ihr PHP kompiliert wurde, ist es durchaus möglich, dass nicht alle
+angegebenen Formatierungszeichen unterstützt werden. Beispielsweise stehen %e, %T, %R und %D
+(eventuell weitere) auf Windowssystemen nicht zur Verfügung.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-default.xml b/docs/de/designers/language-modifiers/language-modifier-default.xml
new file mode 100644
index 00000000..d0bfece5
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-default.xml
@@ -0,0 +1,68 @@
+
+
+
+ default (Standardwert)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Nein
+ leer
+ Dieser Wert wird ausgegeben wenn die Variable leer ist.
+
+
+
+
+
+ Wird verwendet um den Standardwert einer Variable festzulegen.
+ Falls die Variable leer ist oder nicht gesetzt wurde,
+ wird dieser Standardwert ausgegeben.
+ Default (Standardwert) hat 1 Parameter.
+
+
+default (Standardwert)
+
+{* gib "kein Titel" (ohne Anführungszeichen) aus, falls '$artikelTitel' leer ist *}
+{$artikelTitel|default:"kein Titel"}
+
+AUSGABE:
+
+kein Titel
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-escape.xml b/docs/de/designers/language-modifiers/language-modifier-escape.xml
new file mode 100644
index 00000000..bf4d8efe
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-escape.xml
@@ -0,0 +1,92 @@
+
+
+
+ escape (Maskieren)
+
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Mögliche (erlaubte) Werte
+ Standardwerte
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Nein
+ html, htmlall, url, quotes, hex, hexentity
+ html
+ Definiert die zu verwendende Maskierung.
+
+
+
+
+
+ Wird verwendet um eine Variable mit HTML, URL oder
+ einfachen Anführungszeichen, beziehungsweise Hex oder Hex-Entitäten
+ zu maskieren. Hex und Hex-Entity kann verwendet werden um "mailto:"
+ -Links so zu verändern, dass sie von Web-Spiders (E-Mail Sammlern)
+ verborgen bleiben und dennoch les-/linkbar für Webbrowser bleiben.
+ Als Standard, wird 'HTML'-Maskierung verwendet.
+
+
+escape (Maskieren)
+
+index.php:
+
+$smarty = new Smarty;
+$smarty->assign('TitreArticle', "'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'");
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{$artikelTitel}
+{$artikelTitel|escape}
+{$artikelTitel|escape:"html"} {* maskiert & " ' < > *}
+{$artikelTitel|escape:"htmlall"} {* maskiert ALLE html Entitäten *}
+{$artikelTitel|escape:"url"}
+{$artikelTitel|escape:"quotes"}
+<a href="mailto:{$EmailAdresse|escape:"hex"}">{$EmailAdresse|escape:"hexentity"}</a>
+
+AUSGABE:
+
+'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
+'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
+'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
+'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.'
+%27Zwei+Unbekannte+haben+im+Lidl+in+Monheim+24+Pakete+Kaffee+gestohlen.%27
+\'Zwei Unbekannte haben im Lidl in Monheim 24 Pakete Kaffee gestohlen.\'
+<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net</a>
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-indent.xml b/docs/de/designers/language-modifiers/language-modifier-indent.xml
new file mode 100644
index 00000000..37c70470
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-indent.xml
@@ -0,0 +1,103 @@
+
+
+
+ indent (Einrücken)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ integer
+ Nein
+ 4
+ Definiert die Länge der Zeichenkette die verwendet werden soll um den Text einzurücken.
+
+
+ 2
+ string
+ Nein
+ (ein Leerschlag)
+ Definiert das Zeichen, welches verwendet werden soll um den Text einzurücken.
+
+
+
+
+
+ Wird verwendet, um eine Zeichenkette auf jeder Zeile einzurücken.
+ Optionaler Parameter ist die Anzahl der Zeichen,
+ um die der Text eingerückt werden soll. Standardlänge ist 4.
+ Als zweiten optionalen Parameter können sie ein Zeichen übergeben,
+ das für die Einrückung verwendet werden soll (für Tabulatoren: '\t').
+
+
+indent (Einrücken)
+
+{$arikelTitel}
+
+{$arikelTitel|indent}
+
+{$arikelTitel|indent:10}
+
+{$arikelTitel|indent:1:"\t"}
+
+AUSGABE:
+
+Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
+nicht mehr und meldete es als gestohlen. Ein Jahr später
+besuchte er den Ort wieder und erinnerte sich, dass er
+das Auto nur an einem anderen Ort abgestellt hatte -
+dort stand das Fahrzeug nach einem Jahr auch noch.
+
+ Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
+ nicht mehr und meldete es als gestohlen. Ein Jahr später
+ besuchte er den Ort wieder und erinnerte sich, dass er
+ das Auto nur an einem anderen Ort abgestellt hatte -
+ dort stand das Fahrzeug nach einem Jahr auch noch.
+
+ Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
+ nicht mehr und meldete es als gestohlen. Ein Jahr später
+ besuchte er den Ort wieder und erinnerte sich, dass er
+ das Auto nur an einem anderen Ort abgestellt hatte -
+ dort stand das Fahrzeug nach einem Jahr auch noch.
+
+ Nach einer feuchtfröhlichen Nacht fand ein Brite sein Auto
+ nicht mehr und meldete es als gestohlen. Ein Jahr später
+ besuchte er den Ort wieder und erinnerte sich, dass er
+ das Auto nur an einem anderen Ort abgestellt hatte -
+ dort stand das Fahrzeug nach einem Jahr auch noch.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-lower.xml b/docs/de/designers/language-modifiers/language-modifier-lower.xml
new file mode 100644
index 00000000..3e2e0784
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-lower.xml
@@ -0,0 +1,39 @@
+
+
+
+ lower (in Kleinbuchstaben schreiben)
+
+ Wird verwendet um eine Zeichenkette in Kleinbuchstaben auszugeben.
+
+
+lower (in Kleinbuchstaben schreiben)
+
+{$artikelTitel}
+{$artikelTitel|lower}
+
+AUSGABE:
+
+In Kalifornien wurde ein Hund in das Wählerverzeichnis eingetragen.
+in kalifornien wurde ein hund in das wählerverzeichnis eingetragen.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml
new file mode 100644
index 00000000..12bfba59
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-regex-replace.xml
@@ -0,0 +1,76 @@
+
+
+
+ regex_replace (Ersetzen mit regulären Ausdrücken)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Ja
+ n/a
+ Definiert das zu ersetzende Suchmuster, als regulären Ausdruck.
+
+
+ 2
+ string
+ Ja
+ n/a
+ Definiert die ersetzende Zeichenkette.
+
+
+
+
+
+ Suchen/Ersetzen mit regulären Ausdrücken. Folgt der Syntax von PHP's preg_replace().
+
+
+regex_replace (Ersetzen mit regulären Ausdrücken)
+
+{* Ersetzt jeden Zeilenumbruch-Tabulator-Neuezeile, durch ein Leerzeichen. *}
+
+{$artikelTitel}
+{$artikelTitel|regex_replace:"/[\r\t\n]/":" "}
+
+AUSGABE:
+
+Ein Bankangestellter in England zerkaut aus Stress
+ bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung.
+Ein Bankangestellter in England zerkaut aus Stress bei der Arbeit wöchentlich 50 Kugelschreiber. Er ist deshalb in Behandlung.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-replace.xml b/docs/de/designers/language-modifiers/language-modifier-replace.xml
new file mode 100644
index 00000000..72945de7
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-replace.xml
@@ -0,0 +1,76 @@
+
+
+
+ replace (Ersetzen)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Ja
+ n/a
+ Die zu ersetzende Zeichenkette.
+
+
+ 2
+ string
+ Ja
+ n/a
+ Die ersetzende Zeichenkette.
+
+
+
+
+
+ Einfaches suchen/ersetzen in einer Variable.
+
+
+replace (Ersetzen)
+
+{$artikelTitel}
+{$artikelTitel|replace:"Fracht":"Lieferung"}
+{$artikelTitel|replace:" ":" "}
+
+AUSGABE:
+
+Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann.
+Ein Holsten-Laster hat in England seine komplette Lieferung verloren, die nun von jedermann aufgesammelt werden kann.
+Ein Holsten-Laster hat in England seine komplette Fracht verloren, die nun von jedermann aufgesammelt werden kann.
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-spacify.xml b/docs/de/designers/language-modifiers/language-modifier-spacify.xml
new file mode 100644
index 00000000..491422e0
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-spacify.xml
@@ -0,0 +1,70 @@
+
+
+
+ spacify (Zeichenkette splitten)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Nein
+ ein Leerzeichen
+ Definiert die zwischen allen Zeichen einzufügende Zeichenkette.
+
+
+
+
+
+ Fügt zwischen allen Zeichen einer Variablen ein Leerzeichen ein.
+ Eine alternativ einzufügende Zeichenkette kann über
+ den ersten Parameter definiert werden.
+
+
+spacify (Zeichenkette splitten)
+
+{$artikelTitel}
+{$artikelTitel|spacify}
+{$artikelTitel|spacify:"^^"}
+
+AUSGABE:
+
+Ein Mann flog 5000 km um sich die Haare schneiden zu lassen. Grund: Seine offensichtlich begnadete Friseuse zog von den Bermudas nach England und bis dato fand er keine Neue.
+E i n M a n n f l o g 5 0 0 0 k m u m s i c h d i e H a a r e s c h n e i d e n z u l a s s e n . G r u n d : S e i n e o f f e n s i c h t l i c h b e g n a d e t e F r i s e u s e z o g v o n d e n B e r m u d a s n a c h E n g l a n d u n d b i s d a t o f a n d e r k e i n e N e u e .
+E^^i^^n^^ ^^M^^a^^n^^n^^ ^^f^^l^^o^^g^^ ^^5^^0^^0^^0^^ ^^k^^m^^ ^^u^^m^^ ^^s^^i^^c^^h^^ ^^d^^i^^e^^ ^^H^^a^^a^^r^^e^^ ^^s^^c^^h^^n^^e^^i^^d^^e^^n^^ ^^z^^u^^ ^^l^^a^^s^^s^^e^^n^^.^^ ^^G^^r^^u^^n^^d^^:^^ ^^S^^e^^i^^n^^e^^ ^^o^^f^^f^^e^^n^^s^^i^^c^^h^^t^^l^^i^^c^^h^^ ^^b^^e^^g^^n^^a^^d^^e^^t^^e^^ ^^F^^r^^i^^s^^e^^u^^s^^e^^ ^^z^^o^^g^^ ^^v^^o^^n^^ ^^d^^e^^n^^ ^^B^^e^^r^^m^^u^^d^^a^^s^^ ^^n^^a^^c^^h^^ ^^E^^n^^g^^l^^a^^n^^d^^ ^^u^^n^^d^^ ^^b^^i^^s^^ ^^d^^a^^t^^o^^ ^^f^^a^^n^^d^^ ^^e^^r^^ ^^k^^e^^i^^n^^e^^ ^^N^^e^^u^^e^^.^^
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-string-format.xml b/docs/de/designers/language-modifiers/language-modifier-string-format.xml
new file mode 100644
index 00000000..97ddee7d
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-string-format.xml
@@ -0,0 +1,69 @@
+
+
+
+ string_format (Zeichenkette formatieren)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erfoderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ string
+ Ja
+ n/a
+ Das zu verwendende Format (sprintf).
+
+
+
+
+
+ Wird verwendet um eine Zeichenkette, wie zum Beispiel dezimale Werte, zu formatieren.
+ Folgt der Formatierungs-Syntax von sprintf.
+
+
+string_format (Zeichenkette formatieren)
+
+{$wert}
+{$wert|string_format:"%.2f"}
+{$wert|string_format:"%d"}
+
+AUSGABE:
+
+23.5787446
+23.58
+24
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml
new file mode 100644
index 00000000..dd136ddd
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-strip-tags.xml
@@ -0,0 +1,39 @@
+
+
+
+ strip_tags (HTML-Tags entfernen)
+
+ Entfernt alle HTML-Tags, beziehungsweise Zeichenketten die von < und > umschlossen sind.
+
+
+strip_tags (HTML-Tags entfernen)
+
+{$atrikelTitel}
+{$atrikelTitel|strip_tags}
+
+AUSGABE:
+
+Da ein <font face="helvetica">betrunkener Mann</font> auf einem Flug ausfallend wurde, musste <b>das Flugzeug</b> auf einer kleinen Insel zwischenlanden und den Mann aussetzen.
+Da ein betrunkener Mann auf einem Flug ausfallend wurde, musste das Flugzeug auf einer kleinen Insel zwischenlanden und den Mann aussetzen.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-strip.xml b/docs/de/designers/language-modifiers/language-modifier-strip.xml
new file mode 100644
index 00000000..d3d682aa
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-strip.xml
@@ -0,0 +1,51 @@
+
+
+
+ strip (Zeichenkette strippen)
+
+ Ersetzt mehrfache Leerzeichen, Zeilenumbrüche und Tabulatoren durch ein Leerzeichen
+ oder eine alternative Zeichenkette.
+
+
+ Achtung
+
+ Falls Sie ganze Blöcke eines Templates 'strippen' möchten,
+ verwenden Sie dazu strip.
+
+
+
+strip (Zeichenkette strippen)
+
+{$artikelTitel}
+{$artikelTitel|strip}
+{$artikelTitel|strip:" "}
+
+AUSGABE:
+
+Ein 18 Jahre alter Pappkarton
+ erzielte bei Ebay einen Erlös von
+ 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
+Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
+Ein 18 Jahre alter Pappkarton erzielte bei Ebay einen Erlös von 536 Dollar. Es war der Karton, in dem der erste Apple verpackt war.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-truncate.xml b/docs/de/designers/language-modifiers/language-modifier-truncate.xml
new file mode 100644
index 00000000..96502077
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-truncate.xml
@@ -0,0 +1,96 @@
+
+
+
+ truncate (kürzen)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ integer
+ Nein
+ 80
+ Länge, auf die die Zeichenkette gekürzt werden soll.
+
+
+ 2
+ string
+ Nein
+ ...
+ An die gekürzte Zeichenkette anzuhängende Zeichenkette.
+
+
+ 3
+ boolean
+ Nein
+ false
+ Nur nach ganzen Worten (false) oder exakt an der definierten Stelle (true) kürzen.
+
+
+
+
+
+ Kürzt die Variable auf eine definierte Länge. Standardwert sind 80 Zeichen.
+ Als optionaler zweiter Parameter kann eine Zeichenkette übergeben werden, welche
+ der gekürzten Variable angehängt wird. Diese zusätzliche Zeichenkette
+ wird bei der Berechnung der Länge berücksichtigt. Normalerweise wird
+ 'truncate' versuchen, die Zeichenkette zwischen zwei Wörtern umzubrechen. Um die
+ Zeichenkette exakt an der definierten Position abzuscheiden,
+ können sie als dritten Parameter 'true' übergeben.
+
+
+truncate (kürzen)
+
+{$artikelTitel}
+{$artikelTitel|truncate}
+{$artikelTitel|truncate:30}
+{$artikelTitel|truncate:30:""}
+{$artikelTitel|truncate:30:"---"}
+{$artikelTitel|truncate:30:"":true}
+{$artikelTitel|truncate:30:"...":true}
+
+AUSGABE:
+
+George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen.
+George W. Bush will die frei gewählten Mitglieder der ICANN ("Internetregierung") durch Regierungsvertreter der USA ersetzen.
+George W. Bush will die frei...
+George W. Bush will die frei
+George W. Bush will die frei---
+George W. Bush will die frei
+George W. Bush will die fr...
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-upper.xml b/docs/de/designers/language-modifiers/language-modifier-upper.xml
new file mode 100644
index 00000000..7ddad257
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-upper.xml
@@ -0,0 +1,39 @@
+
+
+
+ upper (in Grossbuchstaben umwandeln)
+
+ Wandelt eine Zeichenkette in Grossbuchstaben um.
+
+
+upper (in Grossbuchstaben umwandeln)
+
+{$artikelTitel}
+{$artikelTitel|upper}
+
+AUSGABE:
+
+Ein 58jähriger Belgier ist nach 35 Jahren zum Sieger der Weltmeisterschaft im Querfeldeinrennen 1967 erklärt worden - Grund: Ein damaliger Formfehler.
+EIN 58JÄHRIGER BELGIER IST NACH 35 JAHREN ZUM SIEGER DER WELTMEISTERSCHAFT IM QUERFELDEINRENNEN 1967 ERKLÄRT WORDEN - GRUND: EIN DAMALIGER FORMFEHLER.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml
new file mode 100644
index 00000000..6b135b2b
--- /dev/null
+++ b/docs/de/designers/language-modifiers/language-modifier-wordwrap.xml
@@ -0,0 +1,108 @@
+
+
+
+ wordwrap (Zeilenumbruch)
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Typ
+ Erforderlich
+ Standardwert
+ Beschreibung
+
+
+
+
+ 1
+ integer
+ Nein
+ 80
+ Definiert maximale Länge einer Zeile in der umzubrechenden Zeichenkette.
+
+
+ 2
+ string
+ Nein
+ \n
+ Definiert das zu verwendende Zeichen.
+
+
+ 3
+ boolean
+ Nein
+ false
+ Definiert ob die Zeichenkette nur zwischen Wörtern getrennt (false), oder auch abgeschnitten werden darf (true).
+
+
+
+
+
+ Bricht eine Zeichenkette an einer definierten Stelle (Standardwert 80) um.
+ Als optionaler zweiter Parameter kann das Zeichen übergeben werden,
+ welches zum Umbrechen verwendet werden soll (Standardwert '\n'). Normalerweise
+ bricht wordwrap nur zwischen zwei Wörtern um. Falls Sie exakt an der
+ definierten Stelle umbrechen wollen, übergeben
+ Sie als optionalen dritten Parameter 'true'.
+
+
+wordwrap (Zeilenumbruch)
+
+{$artikelTitel}
+
+{$artikelTitel|wordwrap:75}
+
+{$artikelTitel|wordwrap:50}
+
+{$artikelTitel|wordwrap:75:"<br>\n"}
+
+{$artikelTitel|wordwrap:75:"\n":true}
+
+AUSGABE:
+
+Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz danach zurück, um die Hose umzutauschen, weil die Grösse nicht passte.
+
+Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz
+danach zurück, um die Hose umzutauschen, weil die Grösse nicht
+passte.
+
+Eine Frau stahl in einem Bekleidungsgeschäft
+eine Hose und kam kurz danach zurück, um die
+Hose umzutauschen, weil die Grösse nicht
+passte.
+
+Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz<br>
+danach zurück, um die Hose umzutauschen, weil die Grösse nicht<br>
+passte.
+
+Eine Frau stahl in einem Bekleidungsgeschäft eine Hose und kam kurz d
+anach zurück, um die Hose umzutauschen, weil die Grösse nicht pass
+te.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-variables.xml b/docs/de/designers/language-variables.xml
index a5cc42e9..f821bcbe 100644
--- a/docs/de/designers/language-variables.xml
+++ b/docs/de/designers/language-variables.xml
@@ -20,201 +20,10 @@
<body bgcolor="{#bgcolor#}">
-
- Aus einem PHP-Skript zugewiesene Variablen
-
- Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen $
- versehen werden.
-
-
+&designers.language-variables.language-assigned-variables;
+&designers.language-variables.language-config-variables;
- zugewiesene Variablen
-
-Hallo {$vorname}, schön dass Du wieder da bist.
-<p>
-Letzer zugriff: {$lastLoginDate}.
-
-AUSGABE:
-
-Hallo Andreas, schön dass Du wieder da bist.
-<p>
-Letzer Zugriff: January 11th, 2001.
-
-
-
- Assoziative Arrays
-
- Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen,
- indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren.
-
-
-Zugriff auf Variablen eines assoziativen Arrays
-
-{$Kontakte.fax}<br>
-{$Kontakte.email}<br>
-{* auch multidimensionale Arrays können so angesprochen werden *}
-{$Kontakte.telefon.privat}<br>
-{$Kontakte.telefon.mobil}<br>
-
-AUSGABE:
-
-555-222-9876<br>
-zaphod@slartibartfast.com<br>
-555-444-3333<br>
-555-111-1234<br>
-
-
-
-
- Array Index
-
- Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden.
-
-
-Zugriff über den Array Index
-
-{$Kontakte[0]}<br>
-{$Kontakte[1]}<br>
-{* auch hier sind multidimensionale Arrays möglich *}
-{$Kontakte[0][0]}<br>
-{$Kontakte[0][1]}<br>
-
-
-
- Objekte
-
- Attribute von aus PHP zugewiesenen Objekten können
- über das '->'-Symbol erreicht werden.
-
-
-Zugriff auf Objekt-Attribute
-
-name: {$person->name}<br>
-email: {$person->email}<br>
-
-AUSGABE:
-
-name: Zaphod Beeblebrox<br>
-email: zaphod@slartibartfast.com<br>
-
-
-
-
- Verwendung von Variablen aus Konfigurationsdateien
-
- Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit
- umschliessenden '#'-Zeichen (Raute).
-
-
-
-Konfigurationsvariablen
-
-<html>
-<title>{#seitenTitel#}</title>
-<body bgcolor="{#bodyHintergrundFarbe#}">
-<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
-<tr bgcolor="{#reiheHintergrundFarbe#}">
- <td>Vornamen</td>
- <td>Nachnamen</td>
- <td>Adresse</td>
-</tr>
-</table>
-</body>
-</html>
-
-
- Variablen aus Konfigurationsdateien können erst verwendet werden,
- wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt
- config_load weiter unten näher erläutert.
-
-
-
-
- Die reservierte {$smarty} Variable
-
- Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen
- zuzugreifen. Im Folgenden die Liste der Variablen:
-
-
-
- Request-Variablen
-
- Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session'
- kann wie folgt zugegriffen werden:
-
-
-
- Ausgabe der Requestvariablen (Anfragevariablen)
-
-{* anzeigen der variable 'page' aus der URL oder dem FORM, welche mit GET übertragen wurde *}
-{$smarty.get.page}
-
-{* anzeigen der variable 'page' welche mit POST übertragen wurde *}
-{$smarty.post.page}
-
-{* anzeigen des cookies "benutzer" *}
-{$smarty.cookies.benutzer}
-
-{* anzeigen der Server-Variable "SERVER_NAME" *}
-{$smarty.server.SERVER_NAME}
-
-{* anzeigen der Environment-Variable "PATH" *}
-{$smarty.env.PATH}
-
-{* anzeigen der Session-Variable "id" *}
-{$smarty.session.id}
-
-{* anzeigen der Variable "benutzer" aus dem $_REQUEST Array (Zusammenstellung von get/post/cookie/server/env) *}
-{$smarty.request.benutzer}
-
-
-
-
-
- {$smarty.now}
-
- Die momentane Unix-Timestamp kann über {$smarty.now} angefragt werden.
- Diese Zahl ist die Summe der verstrichenen Sekunden seit Beginn der UNIX-Epoche
- (1. Januar 1970) und kann zur Anzeige direkt dem 'date_format'-Modifikator
- übergeben werden.
-
-
-
-Verwendung von {$smarty.now}
-
-{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *}
-{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
-
-
-
-
- {$smarty.capture}
-
- Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann
- via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt
- zu capture.
-
-
-
-
- {$smarty.section}, {$smarty.foreach}
-
- {$smarty} wird auch verwendet, um auf Eigenschaften von
- 'section' und 'foreach' Schleifen zuzugreifen. Weitere
- Informationen dazu finden sie in der Dokumentation
- von section
- und foreach.
-
-
-
-
- {$smarty.template}
-
- Diese Variable enthält den Namen des gerade verarbeiteten Templates.
-
-
-
-
+&designers.language-variables.language-variables-smarty;
+
+ Aus einem PHP-Skript zugewiesene Variablen
+
+ Variablen die in einem PHP Skript zugewiesen wurden, müssen mit eine Dollar Zeichen $
+ versehen werden.
+
+
+
+ zugewiesene Variablen
+
+Hallo {$vorname}, schön dass Du wieder da bist.
+<p>
+Letzer zugriff: {$lastLoginDate}.
+
+AUSGABE:
+
+Hallo Andreas, schön dass Du wieder da bist.
+<p>
+Letzer Zugriff: January 11th, 2001.
+
+
+
+ Assoziative Arrays
+
+ Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen,
+ indem Sie den Schlüssel nach einem '.'-Zeichen (Punkt) notieren.
+
+
+Zugriff auf Variablen eines assoziativen Arrays
+
+{$Kontakte.fax}<br>
+{$Kontakte.email}<br>
+{* auch multidimensionale Arrays können so angesprochen werden *}
+{$Kontakte.telefon.privat}<br>
+{$Kontakte.telefon.mobil}<br>
+
+AUSGABE:
+
+555-222-9876<br>
+zaphod@slartibartfast.com<br>
+555-444-3333<br>
+555-111-1234<br>
+
+
+
+
+ Array Index
+
+ Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden.
+
+
+Zugriff über den Array Index
+
+{$Kontakte[0]}<br>
+{$Kontakte[1]}<br>
+{* auch hier sind multidimensionale Arrays möglich *}
+{$Kontakte[0][0]}<br>
+{$Kontakte[0][1]}<br>
+
+
+
+ Objekte
+
+ Attribute von aus PHP zugewiesenen Objekten können
+ über das '->'-Symbol erreicht werden.
+
+
+Zugriff auf Objekt-Attribute
+
+name: {$person->name}<br>
+email: {$person->email}<br>
+
+AUSGABE:
+
+name: Zaphod Beeblebrox<br>
+email: zaphod@slartibartfast.com<br>
+
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-variables/language-config-variables.xml b/docs/de/designers/language-variables/language-config-variables.xml
new file mode 100644
index 00000000..6eddda5b
--- /dev/null
+++ b/docs/de/designers/language-variables/language-config-variables.xml
@@ -0,0 +1,51 @@
+
+
+
+ Verwendung von Variablen aus Konfigurationsdateien
+
+ Variablen, die aus einer Konfigurationsdatei geladen werden, referenziert man mit
+ umschliessenden '#'-Zeichen (Raute).
+
+
+
+Konfigurationsvariablen
+
+<html>
+<title>{#seitenTitel#}</title>
+<body bgcolor="{#bodyHintergrundFarbe#}">
+<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
+<tr bgcolor="{#reiheHintergrundFarbe#}">
+ <td>Vornamen</td>
+ <td>Nachnamen</td>
+ <td>Adresse</td>
+</tr>
+</table>
+</body>
+</html>
+
+
+ Variablen aus Konfigurationsdateien können erst verwendet werden,
+ wenn sie aus der Datei geladen wurden. Dieser Vorgang wird im Abschnitt
+ config_load weiter unten näher erläutert.
+
+
+
\ No newline at end of file
diff --git a/docs/de/designers/language-variables/language-variables-smarty.xml b/docs/de/designers/language-variables/language-variables-smarty.xml
new file mode 100644
index 00000000..9e88b96d
--- /dev/null
+++ b/docs/de/designers/language-variables/language-variables-smarty.xml
@@ -0,0 +1,108 @@
+
+
+
+ Die reservierte {$smarty} Variable
+
+ Die reservierte Variable {$smarty} wird verwendet, um auf spezielle Template-Variablen
+ zuzugreifen. Im Folgenden die Liste der Variablen:
+
+
+
+ Request-Variablen
+
+ Auf die Request-Variablen (Anfragevariablen) 'get', 'post', 'cookie', 'server', 'environment' und 'session'
+ kann wie folgt zugegriffen werden:
+
+
+
+ Ausgabe der Requestvariablen (Anfragevariablen)
+
+{* anzeigen der variable 'page' aus der URL oder dem FORM, welche mit GET übertragen wurde *}
+{$smarty.get.page}
+
+{* anzeigen der variable 'page' welche mit POST übertragen wurde *}
+{$smarty.post.page}
+
+{* anzeigen des cookies "benutzer" *}
+{$smarty.cookies.benutzer}
+
+{* anzeigen der Server-Variable "SERVER_NAME" *}
+{$smarty.server.SERVER_NAME}
+
+{* anzeigen der Environment-Variable "PATH" *}
+{$smarty.env.PATH}
+
+{* anzeigen der Session-Variable "id" *}
+{$smarty.session.id}
+
+{* anzeigen der Variable "benutzer" aus dem $_REQUEST Array (Zusammenstellung von get/post/cookie/server/env) *}
+{$smarty.request.benutzer}
+
+
+
+
+
+ {$smarty.now}
+
+ Die momentane Unix-Timestamp kann über {$smarty.now} angefragt werden.
+ Diese Zahl ist die Summe der verstrichenen Sekunden seit Beginn der UNIX-Epoche
+ (1. Januar 1970) und kann zur Anzeige direkt dem 'date_format'-Modifikator
+ übergeben werden.
+
+
+
+Verwendung von {$smarty.now}
+
+{* Verwendung des 'date_format'-Modifikators zur Anzeige der Zeit *}
+{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
+
+
+
+
+ {$smarty.capture}
+
+ Auf die mit dem {capture}..{/capture} Konstrukt abgefangene Ausgabe kann
+ via {$smarty} zugegriffen werden. Ein Beispiel dazu finden Sie im Abschnitt
+ zu capture.
+
+
+
+
+ {$smarty.section}, {$smarty.foreach}
+
+ {$smarty} wird auch verwendet, um auf Eigenschaften von
+ 'section' und 'foreach' Schleifen zuzugreifen. Weitere
+ Informationen dazu finden sie in der Dokumentation
+ von section
+ und foreach.
+
+
+
+
+ {$smarty.template}
+
+ Diese Variable enthält den Namen des gerade verarbeiteten Templates.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-basic-syntax.xml b/docs/en/designers/language-basic-syntax.xml
index 3e813810..ed1bc4ed 100644
--- a/docs/en/designers/language-basic-syntax.xml
+++ b/docs/en/designers/language-basic-syntax.xml
@@ -15,216 +15,15 @@
place.
-
- Comments
-
- Template comments are surrounded by asterisks, and that is surrounded
- by the delimiter tags like so: {* this is a comment *}
- Smarty comments are not displayed in the final output of the template.
- They are used for making internal notes in the templates.
-
-
- Comments
-
-
-{html_options values=$vals selected=$selected output=$output}
-
-]]>
-
-
-
-
-
- Functions
-
- Each Smarty tag either prints a
- variable or invokes some sort
- of function. Functions are processed and displayed by enclosing the
- function and its attributes into delimiters like so: {funcname
- attr1="val" attr2="val"}.
-
-
- function syntax
-
-{$name}!
-{else}
- Welcome, {$name}!
-{/if}
-
-{include file="footer.tpl"}
-]]>
-
-
-
- Both built-in functions and custom functions have the same syntax in
- the templates. Built-in functions are the inner workings of Smarty,
- such as if, section and
- strip. They cannot be modified. Custom functions are
- additional functions implemented via plugins. They can be modified to
- your liking, or you can add new ones. html_options and
- html_select_date are examples of custom functions.
-
-
-
-
- Attributes
-
- Most of the functions take attributes that specify or modify
- their behavior. Attributes to Smarty functions are much like HTML
- attributes. Static values don't have to be enclosed in quotes, but it
- is recommended for literal strings. Variables may also be used, and
- should not be in quotes.
-
-
- Some attributes require boolean values (true or false). These can be
- specified as either unquoted true,
- on, and yes, or
- false, off, and
- no.
-
-
- function attribute syntax
-
-
-{html_options values=$vals selected=$selected output=$output}
-
-]]>
-
-
-
-
- Embedding Vars in Double Quotes
-
- Smarty will recognize assigned variables embedded in double quotes so long
- as the variables contain only numbers, letters, underscores and brackets
- []. With any other characters (period, object reference, etc.) the variable
- must be surrounded by backticks.
-
-
- embedded quotes syntax
-
-
-
-
-
-
- Math
-
- Math can be applied directly to variable values.
-
-
- math examples
-
-bar-$bar[1]*$baz->foo->bar()-3*7}
-
-{if ($foo+$bar.test%$baz*134232+10+$b+10)}
-
-{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
-
-{assign var="foo" value="`$foo+$bar`"}
-]]>
-
-
-
-
-
- Escaping Smarty Parsing
-
- It is sometimes desirable or even necessary to have Smarty ignore sections it
- would otherwise parse. A classic example is embedding Javascript or CSS code in
- a template. The problem arises as those languages use the { and } characters
- which are also the default delimiters for Smarty.
-
-
-
- The simplest thing is to avoid the situation altogether by separating your Javascript
- and CSS code into their own files and then using standard HTML methods to access them.
-
-
-
- Including literal content is possible using {literal} .. {/literal} blocks.
- Similar to HTML entity usage, you can use {ldelim} and {rdelim} to display the current delimiters.
-
-
-
- It is often convenient to simply change Smarty's $left_delimiter and
- $right_delimiter.
-
-
- changing delimiters example
-
-left_delimiter = '';
-$smarty->assign('foo', 'bar');
-$smarty->display('example.tpl');
-
-?>
-
---- example.tpl
-
-]]>
-
-
-
+&designers.language-basic-syntax.language-escaping;
+
+ Escaping Smarty Parsing
+
+ It is sometimes desirable or even necessary to have Smarty ignore sections it
+ would otherwise parse. A classic example is embedding Javascript or CSS code in
+ a template. The problem arises as those languages use the { and } characters
+ which are also the default delimiters for Smarty.
+
+
+
+ The simplest thing is to avoid the situation altogether by separating your Javascript
+ and CSS code into their own files and then using standard HTML methods to access them.
+
+
+
+ Including literal content is possible using {literal} .. {/literal} blocks.
+ Similar to HTML entity usage, you can use {ldelim} and {rdelim} to display the current delimiters.
+
+
+
+ It is often convenient to simply change Smarty's $left_delimiter and
+ $right_delimiter.
+
+
+ changing delimiters example
+
+left_delimiter = '';
+$smarty->assign('foo', 'bar');
+$smarty->display('example.tpl');
+
+?>
+
+--- example.tpl
+
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-basic-syntax/language-math.xml b/docs/en/designers/language-basic-syntax/language-math.xml
new file mode 100644
index 00000000..f1719deb
--- /dev/null
+++ b/docs/en/designers/language-basic-syntax/language-math.xml
@@ -0,0 +1,48 @@
+
+
+
+ Math
+
+ Math can be applied directly to variable values.
+
+
+ math examples
+
+bar-$bar[1]*$baz->foo->bar()-3*7}
+
+{if ($foo+$bar.test%$baz*134232+10+$b+10)}
+
+{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
+
+{assign var="foo" value="`$foo+$bar`"}
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml b/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml
new file mode 100644
index 00000000..69f5b712
--- /dev/null
+++ b/docs/en/designers/language-basic-syntax/language-syntax-attributes.xml
@@ -0,0 +1,57 @@
+
+
+
+ Attributes
+
+ Most of the functions take attributes that specify or modify
+ their behavior. Attributes to Smarty functions are much like HTML
+ attributes. Static values don't have to be enclosed in quotes, but it
+ is recommended for literal strings. Variables may also be used, and
+ should not be in quotes.
+
+
+ Some attributes require boolean values (true or false). These can be
+ specified as either unquoted true,
+ on, and yes, or
+ false, off, and
+ no.
+
+
+ function attribute syntax
+
+
+{html_options values=$vals selected=$selected output=$output}
+
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-basic-syntax/language-syntax-comments.xml b/docs/en/designers/language-basic-syntax/language-syntax-comments.xml
new file mode 100644
index 00000000..33889335
--- /dev/null
+++ b/docs/en/designers/language-basic-syntax/language-syntax-comments.xml
@@ -0,0 +1,51 @@
+
+
+
+ Comments
+
+ Template comments are surrounded by asterisks, and that is surrounded
+ by the delimiter tags like so: {* this is a comment *}
+ Smarty comments are not displayed in the final output of the template.
+ They are used for making internal notes in the templates.
+
+
+ Comments
+
+
+{html_options values=$vals selected=$selected output=$output}
+
+]]>
+
+
+
+
diff --git a/docs/en/designers/language-basic-syntax/language-syntax-functions.xml b/docs/en/designers/language-basic-syntax/language-syntax-functions.xml
new file mode 100644
index 00000000..78f7a6c5
--- /dev/null
+++ b/docs/en/designers/language-basic-syntax/language-syntax-functions.xml
@@ -0,0 +1,59 @@
+
+
+
+ Functions
+
+ Each Smarty tag either prints a
+ variable or invokes some sort
+ of function. Functions are processed and displayed by enclosing the
+ function and its attributes into delimiters like so: {funcname
+ attr1="val" attr2="val"}.
+
+
+ function syntax
+
+{$name}!
+{else}
+ Welcome, {$name}!
+{/if}
+
+{include file="footer.tpl"}
+]]>
+
+
+
+ Both built-in functions and custom functions have the same syntax in
+ the templates. Built-in functions are the inner workings of Smarty,
+ such as if, section and
+ strip. They cannot be modified. Custom functions are
+ additional functions implemented via plugins. They can be modified to
+ your liking, or you can add new ones. html_options and
+ html_select_date are examples of custom functions.
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml b/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml
new file mode 100644
index 00000000..0cb824d4
--- /dev/null
+++ b/docs/en/designers/language-basic-syntax/language-syntax-quotes.xml
@@ -0,0 +1,49 @@
+
+
+
+ Embedding Vars in Double Quotes
+
+ Smarty will recognize assigned variables embedded in double quotes so long
+ as the variables contain only numbers, letters, underscores and brackets
+ []. With any other characters (period, object reference, etc.) the variable
+ must be surrounded by backticks.
+
+
+ embedded quotes syntax
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions.xml b/docs/en/designers/language-builtin-functions.xml
index a2ef81db..888a1486 100644
--- a/docs/en/designers/language-builtin-functions.xml
+++ b/docs/en/designers/language-builtin-functions.xml
@@ -7,1578 +7,18 @@
are integral to the template language. You cannot create custom
functions with the same names, nor can you modify built-in functions.
-
- capture
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- no
- default
- The name of the captured block
-
-
- assign
- string
- No
- n/a
- The variable name where to assign the captured output to
-
-
-
-
-
- capture is used to collect the output of the template into a
- variable instead of displaying it. Any content between {capture
- name="foo"} and {/capture} is collected into the variable specified
- in the name attribute. The captured content can be used in the
- template from the special variable $smarty.capture.foo where foo is
- the value passed in the name attribute. If you do not supply a name
- attribute, then "default" will be used. All {capture} commands must
- be paired with {/capture}. You can nest capture commands.
-
-
- Technical Note
-
- Smarty 1.4.0 - 1.4.4 placed the captured content into the
- variable named $return. As of 1.4.5, this behavior was changed to use
- the name attribute, so update your templates accordingly.
-
-
-
-
- Be careful when capturing insert output. If
- you have caching turned on and you have insert
- commands that you expect to run within cached content, do not
- capture this content.
-
-
-
-
- capturing template content
-
-{* we don't want to print a table row unless content is displayed *}
-{capture name=banner}
-{include file="get_banner.tpl"}
-{/capture}
-{if $smarty.capture.banner ne ""}
- <tr>
- <td>
- {$smarty.capture.banner}
- </td>
- </tr>
-{/if}
-
-
-
-
- config_load
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- file
- string
- Yes
- n/a
- The name of the config file to include
-
-
- section
- string
- No
- n/a
- The name of the section to load
-
-
- scope
- string
- no
- local
-
- How the scope of the loaded variables are treated,
- which must be one of local, parent or global. local
- means variables are loaded into the local template
- context. parent means variables are loaded into both
- the local context and the parent template that called
- it. global means variables are available to all
- templates.
-
-
-
- global
- boolean
- No
- No
-
- Whether or not variables are visible to the parent
- template, same as scope=parent. NOTE: This attribute is
- deprecated by the scope attribute, but still supported.
- If scope is supplied, this value is ignored.
-
-
-
-
-
-
- This function is used for loading in variables from a
- configuration file into the template.
- See Config Files for more
- info.
-
-
-function config_load
-
-
-{config_load file="colors.conf"}
-
-<html>
-<title>{#pageTitle#}</title>
-<body bgcolor="{#bodyBgColor#}">
-<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
- <tr bgcolor="{#rowBgColor#}">
- <td>First</td>
- <td>Last</td>
- <td>Address</td>
- </tr>
-</table>
-</body>
-</html>
-
-
- Config files may also contain sections. You can load variables from
- within a section with the added attribute
- section.
-
-
- NOTE: Config file sections and the built-in
- template function called section have nothing
- to do with each other, they just happen to share a common naming
- convention.
-
-
-function config_load with section
-
-{config_load file="colors.conf" section="Customer"}
-
-<html>
-<title>{#pageTitle#}</title>
-<body bgcolor="{#bodyBgColor#}">
-<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
- <tr bgcolor="{#rowBgColor#}">
- <td>First</td>
- <td>Last</td>
- <td>Address</td>
- </tr>
-</table>
-</body>
-</html>
-
-
-
- foreach,foreachelse
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- from
- string
- Yes
- n/a
- The name of the array you are looping through
-
-
- item
- string
- Yes
- n/a
- The name of the variable that is the current
- element
-
-
- key
- string
- No
- n/a
- The name of the variable that is the current key
-
-
- name
- string
- No
- n/a
- The name of the foreach loop for accessing
- foreach properties
-
-
-
-
-
- foreach loops are an alternative to
- section loops. foreach is
- used to loop over a single associative array. The syntax for
- foreach is much easier than
- section, but as a tradeoff it can only be used
- for a single array. foreach tags must be
- paired with /foreach tags. Required parameters
- are from and item. The
- name of the foreach loop can be anything you like, made up of
- letters, numbers and underscores. foreach
- loops can be nested, and the nested foreach names must be unique
- from each other. The from variable (usually an
- array of values) determines the number of times
- foreach will loop.
- foreachelse is executed when there are no
- values in the from variable.
-
-
-foreach
-
-
-{* this example will print out all the values of the $custid array *}
-{foreach from=$custid item=curr_id}
- id: {$curr_id}<br>
-{/foreach}
-
-OUTPUT:
-
-id: 1000<br>
-id: 1001<br>
-id: 1002<br>
-
-
-
-foreach key
-
-{* The key contains the key for each looped value
-
-assignment looks like this:
-
-$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
- array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
-
-*}
-
-{foreach name=outer item=contact from=$contacts}
- {foreach key=key item=item from=$contact}
- {$key}: {$item}<br>
- {/foreach}
-{/foreach}
-
-OUTPUT:
-
-phone: 1<br>
-fax: 2<br>
-cell: 3<br>
-phone: 555-4444<br>
-fax: 555-3333<br>
-cell: 760-1234<br>
-
-
-
- Foreach-loops also have their own variables that handle foreach properties.
- These are indicated like so: {$smarty.foreach.foreachname.varname} with
- foreachname being the name specified as the name
- attribute of foreach
-
-
-
-
- iteration
-
- iteration is used to display the current loop iteration.
-
-
- Iteration always starts with 1 and is incremented by one
- one each iteration.
-
-
-
-
- first
-
- first is set to true if the current foreach iteration is the first
- one.
-
-
-
-
- last
-
- last is set to true if the current foreach iteration is the last
- one.
-
-
-
-
- show
-
- show is used as a parameter to foreach.
- show is a boolean value, true or false. If
- false, the foreach will not be displayed. If there is a foreachelse
- present, that will be alternately displayed.
-
-
-
-
- total
-
- total is used to display the number of iterations that this foreach
- will loop. This can be used inside or after the foreach.
-
-
-
-
-
-
-
-
-
- include
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- file
- string
- Yes
- n/a
- The name of the template file to include
-
-
- assign
- string
- No
- n/a
- The name of the variable that the output of
- include will be assigned to
-
-
- [var ...]
- [var type]
- No
- n/a
- variable to pass local to template
-
-
-
-
-
- Include tags are used for including other templates in the current
- template. Any variables available in the current template are also
- available within the included template. The include tag must have
- the attribute "file", which contains the template resource path.
-
-
- You can optionally pass the assign attribute,
- which will specify a template variable name that the output of
- include will be assigned to instead of
- displayed.
-
-
-function include
-
-{include file="header.tpl"}
-
-{* body of template goes here *}
-
-{include file="footer.tpl"}
-
-
- You can also pass variables to included templates as attributes.
- Any variables explicitly passed to an included template as
- attributes are only available within the scope of the included
- file. Attribute variables override current template variables, in
- the case they are named alike.
-
-
-function include passing variables
-
-{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"}
-
-{* body of template goes here *}
-
-{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
-
-
- Use the syntax for template resources to
- include files outside of the $template_dir directory.
-
-
-function include template resource examples
-
-{* absolute filepath *}
-{include file="/usr/local/include/templates/header.tpl"}
-
-{* absolute filepath (same thing) *}
-{include file="file:/usr/local/include/templates/header.tpl"}
-
-{* windows absolute filepath (MUST use "file:" prefix) *}
-{include file="file:C:/www/pub/templates/header.tpl"}
-
-{* include from template resource named "db" *}
-{include file="db:header.tpl"}
-
-
-
- include_php
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- file
- string
- Yes
- n/a
- The name of the php file to include
-
-
- once
- boolean
- No
- true
- whether or not to include the php file more than
- once if included multiple times
-
-
- assign
- string
- No
- n/a
- The name of the variable that the output of
- include_php will be assigned to
-
-
-
-
-
- Technical Note
-
- include_php is pretty much deprecated from Smarty, you can
- accomplish the same functionality via a custom template function.
- The only reason to use include_php is if you really have a need to
- quarantine the php function away from the plugin directory or your
- application code. See the componentized template
- example for details.
-
-
-
- include_php tags are used to include a php script in your template.
- If security is enabled, then the php script must be located in the
- $trusted_dir path. The include_php tag must have the attribute
- "file", which contains the path to the included php file, either
- relative to $trusted_dir, or an absolute path.
-
-
- include_php is a nice way to handle componentized templates, and
- keep PHP code separate from the template files. Lets say you have a
- template that shows your site navigation, which is pulled
- dynamically from a database. You can keep your PHP logic that grabs
- database content in a separate directory, and include it at the top
- of the template. Now you can include this template anywhere without
- worrying if the database information was assigned by the application
- before hand.
-
-
- By default, php files are only included once even if called
- multiple times in the template. You can specify that it should be
- included every time with the once attribute.
- Setting once to false will include the php script each time it is
- included in the template.
-
-
- You can optionally pass the assign attribute,
- which will specify a template variable name that the output of
- include_php will be assigned to instead of
- displayed.
-
-
- The smarty object is available as $this within the PHP script that you
- include.
-
-
-function include_php
-
-load_nav.php
--------------
-
-<?php
-
- // load in variables from a mysql db and assign them to the template
- require_once("MySQL.class.php");
- $sql = new MySQL;
- $sql->query("select * from site_nav_sections order by name",SQL_ALL);
- $this->assign('sections',$sql->record);
-
-?>
-
-
-index.tpl
----------
-
-{* absolute path, or relative to $trusted_dir *}
-{include_php file="/path/to/load_nav.php"}
-
-{foreach item="curr_section" from=$sections}
- <a href="{$curr_section.url}">{$curr_section.name}</a><br>
-{/foreach}
-
-
-
- insert
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- Yes
- n/a
- The name of the insert function (insert_name)
-
-
- assign
- string
- No
- n/a
- The name of the template variable the output will
- be assigned to
-
-
- script
- string
- No
- n/a
- The name of the php script that is included before
- the insert function is called
-
-
- [var ...]
- [var type]
- No
- n/a
- variable to pass to insert function
-
-
-
-
-
- Insert tags work much like include tags, except that insert tags
- are not cached when you have template caching enabled. They will be
- executed on every invocation of the template.
-
-
- Let's say you have a template with a banner slot at the top of
- the page. The banner can contain any mixture of HTML, images,
- flash, etc. so we can't just use a static link here, and we
- don't want this contents cached with the page. In comes the
- insert tag: the template knows #banner_location_id# and
- #site_id# values (gathered from a config file), and needs to
- call a function to get the banner contents.
-
-
-function insert
-
-{* example of fetching a banner *}
-{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}
-
-
- In this example, we are using the name "getBanner" and passing the
- parameters #banner_location_id# and #site_id#. Smarty will look
- for a function named insert_getBanner() in your PHP application, passing
- the values of #banner_location_id# and #site_id# as the first argument
- in an associative array. All insert function names in
- your application must be prepended with "insert_" to remedy possible
- function name-space conflicts. Your insert_getBanner() function should
- do something with the passed values and return the results. These results
- are then displayed in the template in place of the insert tag.
- In this example, Smarty would call this function:
- insert_getBanner(array("lid" => "12345","sid" => "67890"));
- and display the returned results in place of the insert tag.
-
-
- If you supply the "assign" attribute, the output of the insert tag
- will be assigned to this template variable instead of being output
- to the template. NOTE: assigning the output to a template variable
- isn't too useful with caching enabled.
-
-
- If you supply the "script" attribute, this php script will be
- included (only once) before the insert function is executed. This
- is the case where the insert function may not exist yet, and a php
- script must be included first to make it work. The path can be
- either absolute, or relative to $trusted_dir. When security is
- enabled, the script must reside in $trusted_dir.
-
-
- The Smarty object is passed as the second argument. This way you
- can reference and modify information in the Smarty object from
- within the insert function.
-
-
- Technical Note
-
- It is possible to have portions of the template not
- cached. If you have caching
- turned on, insert tags will not be cached. They will run
- dynamically every time the page is created, even within cached
- pages. This works good for things like banners, polls, live
- weather, search results, user feedback areas, etc.
-
-
-
-
- if,elseif,else
-
- {if} statements in Smarty have much the same flexibility as PHP if
- statements, with a few added features for the template engine.
- Every {if} must be paired with an
- {/if}. {else} and
- {elseif} are also permitted. All PHP conditionals
- are recognized, such as ||, or,
- &&, and, etc.
-
-
-
- The following is a list of recognized qualifiers, which must be
- separated from surrounding elements by spaces. Note that items listed
- in [brackets] are optional. PHP equivalents are shown where applicable.
-
-
-
-
-
-
-
-
-
-
-
- Qualifier
- Alternates
- Syntax Example
- Meaning
- PHP Equivalent
-
-
-
-
- ==
- eq
- $a eq $b
- equals
- ==
-
-
- !=
- ne, neq
- $a neq $b
- not equals
- !=
-
-
- >
- gt
- $a gt $b
- greater than
- >
-
-
- <
- lt
- $a lt $b
- less than
- <
-
-
- >=
- gte, ge
- $a ge $b
- greater than or equal
- >=
-
-
- <=
- lte, le
- $a le $b
- less than or equal
- <=
-
-
- !
- not
- not $a
- negation (unary)
- !
-
-
- %
- mod
- $a mod $b
- modulous
- %
-
-
- is [not] div by
-
- $a is not div by 4
- divisible by
- $a % $b == 0
-
-
- is [not] even
-
- $a is not even
- [not] an even number (unary)
- $a % 2 == 0
-
-
- is [not] even by
-
- $a is not even by $b
- grouping level [not] even
- ($a / $b) % 2 == 0
-
-
- is [not] odd
-
- $a is not odd
- [not] an odd number (unary)
- $a % 2 != 0
-
-
- is [not] odd by
-
- $a is not odd by $b
- [not] an odd grouping
- ($a / $b) % 2 != 0
-
-
-
-
-
-if statements
-
-{if $name eq "Fred"}
- Welcome Sir.
-{elseif $name eq "Wilma"}
- Welcome Ma'am.
-{else}
- Welcome, whatever you are.
-{/if}
-
-{* an example with "or" logic *}
-{if $name eq "Fred" or $name eq "Wilma"}
- ...
-{/if}
-
-{* same as above *}
-{if $name == "Fred" || $name == "Wilma"}
- ...
-{/if}
-
-{* the following syntax will NOT work, conditional qualifiers
- must be separated from surrounding elements by spaces *}
-{if $name=="Fred" || $name=="Wilma"}
- ...
-{/if}
-
-
-{* parenthesis are allowed *}
-{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
- ...
-{/if}
-
-{* you can also embed php function calls *}
-{if count($var) gt 0}
- ...
-{/if}
-
-{* test if values are even or odd *}
-{if $var is even}
- ...
-{/if}
-{if $var is odd}
- ...
-{/if}
-{if $var is not odd}
- ...
-{/if}
-
-{* test if var is divisible by 4 *}
-{if $var is div by 4}
- ...
-{/if}
-
-{* test if var is even, grouped by two. i.e.,
-0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *}
-{if $var is even by 2}
- ...
-{/if}
-
-{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
-{if $var is even by 3}
- ...
-{/if}
-
-
-
- ldelim,rdelim
-
- ldelim and rdelim are used for displaying the literal delimiter, in
- our case "{" or "}". The template engine always tries to interpret
- delimiters, so this is the way around that.
-
-
-ldelim, rdelim
-
-{* this will print literal delimiters out of the template *}
-
-{ldelim}funcname{rdelim} is how functions look in Smarty!
-
-
-OUTPUT:
-
-{funcname} is how functions look in Smarty!
-
-
-
- literal
-
- Literal tags allow a block of data to be taken literally,
- not being interpreted by the Smarty engine. This is handy
- for things like javascript sections, where there maybe
- curly braces and such things that would confuse the template
- parser. Anything within {literal}{/literal} tags is not
- interpreted, but displayed as-is.
-
-
-literal tags
-
-{literal}
- <script language=javascript>
-
- <!--
- function isblank(field) {
- if (field.value == '')
- { return false; }
- else
- {
- document.loginform.submit();
- return true;
- }
- }
- // -->
-
- </script>
-{/literal}
-
-
-
- php
-
- php tags allow php to be embedded directly into the template. They
- will not be escaped, regardless of the $php_handling setting. This
- is for advanced users only, not normally needed.
-
-
-php tags
-
-{php}
- // including a php script directly
- // from the template.
- include("/path/to/display_weather.php");
-{/php}
-
-
-
- section,sectionelse
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- Yes
- n/a
- The name of the section
-
-
- loop
- [$variable_name]
- Yes
- n/a
- The name of the variable to determine # of loop
- iterations
-
-
- start
- integer
- No
- 0The index
- position that the section will begin looping. If the
- value is negative, the start position is calculated
- from the end of the array. For example, if there are
- seven values in the loop array and start is -2, the
- start index is 5. Invalid values (values outside of the
- length of the loop array) are automatically truncated
- to the closest valid value.
-
-
- step
- integer
- No
- 1
- The step value that will be used to traverse the
- loop array. For example, step=2 will loop on index
- 0,2,4, etc. If step is negative, it will step through
- the array backwards.
-
-
- max
- integer
- No
- 1
- Sets the maximum number of times the section
- will loop.
-
-
- show
- boolean
- No
- true
- determines whether or not to show this section
-
-
-
-
-
- Template sections are used for looping over arrays of data. All
- section tags must be paired with
- /section tags. Required parameters are
- name and loop. The name
- of the section can be anything you like, made up of letters,
- numbers and underscores. Sections can be nested, and the nested
- section names must be unique from each other. The loop variable
- (usually an array of values) determines the number of times the
- section will loop. When printing a variable within a section, the
- section name must be given next to variable name within brackets
- []. sectionelse is
- executed when there are no values in the loop variable.
-
-
-section
-
-
-{* this example will print out all the values of the $custid array *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
-{/section}
-
-OUTPUT:
-
-id: 1000<br>
-id: 1001<br>
-id: 1002<br>
-
-
-
-section loop variable
-
-{* the loop variable only determines the number of times to loop.
- you can access any variable from the template within the section.
- This example assumes that $custid, $name and $address are all
- arrays containing the same number of values *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
- name: {$name[customer]}<br>
- address: {$address[customer]}<br>
- <p>
-{/section}
-
-
-OUTPUT:
-
-id: 1000<br>
-name: John Smith<br>
-address: 253 N 45th<br>
-<p>
-id: 1001<br>
-name: Jack Jones<br>
-address: 417 Mulberry ln<br>
-<p>
-id: 1002<br>
-name: Jane Munson<br>
-address: 5605 apple st<br>
-<p>
-
-
-
-section names
-
-{* the name of the section can be anything you like,
- and it is used to reference the data within the section *}
-{section name=mydata loop=$custid}
- id: {$custid[mydata]}<br>
- name: {$name[mydata]}<br>
- address: {$address[mydata]}<br>
- <p>
-{/section}
-
-
-
-nested sections
-
-{* sections can be nested as deep as you like. With nested sections,
- you can access complex data structures, such as multi-dimensional
- arrays. In this example, $contact_type[customer] is an array of
- contact types for the current customer. *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
- name: {$name[customer]}<br>
- address: {$address[customer]}<br>
- {section name=contact loop=$contact_type[customer]}
- {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
- {/section}
- <p>
-{/section}
-
-
-OUTPUT:
-
-id: 1000<br>
-name: John Smith<br>
-address: 253 N 45th<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: john@mydomain.com<br>
-<p>
-id: 1001<br>
-name: Jack Jones<br>
-address: 417 Mulberry ln<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jack@mydomain.com<br>
-<p>
-id: 1002<br>
-name: Jane Munson<br>
-address: 5605 apple st<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jane@mydomain.com<br>
-<p>
-
-
-
-sections and associative arrays
-
-{* This is an example of printing an associative array
- of data within a section *}
-{section name=customer loop=$contacts}
- name: {$contacts[customer].name}<br>
- home: {$contacts[customer].home}<br>
- cell: {$contacts[customer].cell}<br>
- e-mail: {$contacts[customer].email}<p>
-{/section}
-
-
-OUTPUT:
-
-name: John Smith<br>
-home: 555-555-5555<br>
-cell: 555-555-5555<br>
-e-mail: john@mydomain.com<p>
-name: Jack Jones<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jack@mydomain.com<p>
-name: Jane Munson<br>
-home phone: 555-555-5555<br>
-cell phone: 555-555-5555<br>
-e-mail: jane@mydomain.com<p>
-
-
-
-
-
-sectionelse
-
-{* sectionelse will execute if there are no $custid values *}
-{section name=customer loop=$custid}
- id: {$custid[customer]}<br>
-{sectionelse}
- there are no values in $custid.
-{/section}
-
-
- Sections also have their own variables that handle section properties.
- These are indicated like so: {$smarty.section.sectionname.varname}
-
-
- NOTE: As of Smarty 1.5.0, the syntax for section property variables has
- been changed from {%sectionname.varname%} to
- {$smarty.section.sectionname.varname}. The old syntax is still
- supported, but you will only see reference to the new syntax in the
- manual examples.
-
-
- index
-
- index is used to display the current loop index, starting with zero
- (or the start attribute if given), and incrementing by one (or by
- the step attribute if given.)
-
-
- Technical Note
-
- If the step and start section properties are not
- modified, then this works the same as the iteration section
- property, except it starts on 0 instead of 1.
-
-
-
- section property index
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
-
- OUTPUT:
-
- 0 id: 1000<br>
- 1 id: 1001<br>
- 2 id: 1002<br>
-
-
-
-
- index_prev
-
- index_prev is used to display the previous loop index.
- on the first loop, this is set to -1.
-
-
- section property index_prev
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
- {if $custid[customer.index_prev] ne $custid[customer.index]}
- The customer id changed<br>
- {/if}
- {/section}
-
-
- OUTPUT:
-
- 0 id: 1000<br>
- The customer id changed<br>
- 1 id: 1001<br>
- The customer id changed<br>
- 2 id: 1002<br>
- The customer id changed<br>
-
-
-
-
- index_next
-
- index_next is used to display the next loop index. On the last
- loop, this is still one more than the current index (respecting the
- setting of the step attribute, if given.)
-
-
- section property index_next
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
- {if $custid[customer.index_next] ne $custid[customer.index]}
- The customer id will change<br>
- {/if}
- {/section}
-
-
- OUTPUT:
-
- 0 id: 1000<br>
- The customer id will change<br>
- 1 id: 1001<br>
- The customer id will change<br>
- 2 id: 1002<br>
- The customer id will change<br>
-
-
-
-
- iteration
-
- iteration is used to display the current loop iteration.
-
-
- NOTE: This is not affected by the section properties start, step and
- max, unlike the index property. Iteration also starts with 1
- instead of 0 like index. rownum is an alias to iteration, they work
- identical.
-
-
- section property iteration
-
- {section name=customer loop=$custid start=5 step=2}
- current loop iteration: {$smarty.section.customer.iteration}<br>
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
- {if $custid[customer.index_next] ne $custid[customer.index]}
- The customer id will change<br>
- {/if}
- {/section}
-
-
- OUTPUT:
-
- current loop iteration: 1
- 5 id: 1000<br>
- The customer id will change<br>
- current loop iteration: 2
- 7 id: 1001<br>
- The customer id will change<br>
- current loop iteration: 3
- 9 id: 1002<br>
- The customer id will change<br>
-
-
-
-
- first
-
- first is set to true if the current section iteration is the first
- one.
-
-
- section property first
-
- {section name=customer loop=$custid}
- {if $smarty.section.customer.first}
- <table>
- {/if}
-
- <tr><td>{$smarty.section.customer.index} id:
- {$custid[customer]}</td></tr>
-
- {if $smarty.section.customer.last}
- </table>
- {/if}
- {/section}
-
-
- OUTPUT:
-
- <table>
- <tr><td>0 id: 1000</td></tr>
- <tr><td>1 id: 1001</td></tr>
- <tr><td>2 id: 1002</td></tr>
- </table>
-
-
-
-
- last
-
- last is set to true if the current section iteration is the last
- one.
-
-
- section property last
-
- {section name=customer loop=$custid}
- {if $smarty.section.customer.first}
- <table>
- {/if}
-
- <tr><td>{$smarty.section.customer.index} id:
- {$custid[customer]}</td></tr>
-
- {if $smarty.section.customer.last}
- </table>
- {/if}
- {/section}
-
-
- OUTPUT:
-
- <table>
- <tr><td>0 id: 1000</td></tr>
- <tr><td>1 id: 1001</td></tr>
- <tr><td>2 id: 1002</td></tr>
- </table>
-
-
-
-
- rownum
-
- rownum is used to display the current loop iteration,
- starting with one. It is an alias to iteration, they work
- identically.
-
-
- section property rownum
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
- {/section}
-
-
- OUTPUT:
-
- 1 id: 1000<br>
- 2 id: 1001<br>
- 3 id: 1002<br>
-
-
-
-
- loop
-
- loop is used to display the last index number that this section
- looped. This can be used inside or after the section.
-
-
- section property index
-
- {section name=customer loop=$custid}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
- There were {$smarty.section.customer.loop} customers shown above.
-
- OUTPUT:
-
- 0 id: 1000<br>
- 1 id: 1001<br>
- 2 id: 1002<br>
-
- There were 3 customers shown above.
-
-
-
-
- show
-
- show is used as a parameter to section.
- show is a boolean value, true or false. If
- false, the section will not be displayed. If there is a sectionelse
- present, that will be alternately displayed.
-
-
- section attribute show
-
- {* $show_customer_info may have been passed from the PHP
- application, to regulate whether or not this section shows *}
- {section name=customer loop=$custid show=$show_customer_info}
- {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
- {/section}
-
- {if $smarty.section.customer.show}
- the section was shown.
- {else}
- the section was not shown.
- {/if}
-
-
- OUTPUT:
-
- 1 id: 1000<br>
- 2 id: 1001<br>
- 3 id: 1002<br>
-
- the section was shown.
-
-
-
-
- total
-
- total is used to display the number of iterations that this section
- will loop. This can be used inside or after the section.
-
-
- section property total
-
- {section name=customer loop=$custid step=2}
- {$smarty.section.customer.index} id: {$custid[customer]}<br>
- {/section}
-
- There were {$smarty.section.customer.total} customers shown above.
-
- OUTPUT:
-
- 0 id: 1000<br>
- 2 id: 1001<br>
- 4 id: 1002<br>
-
- There were 3 customers shown above.
-
-
-
-
-
- strip
-
- Many times web designers run into the issue where white space and
- carriage returns affect the output of the rendered HTML (browser
- "features"), so you must run all your tags together in the template
- to get the desired results. This usually ends up in unreadable or
- unmanageable templates.
-
-
- Anything within {strip}{/strip} tags in Smarty are stripped of the
- extra spaces or carriage returns at the beginnings and ends of the
- lines before they are displayed. This way you can keep your
- templates readable, and not worry about extra white space causing
- problems.
-
-
- Technical Note
-
- {strip}{/strip} does not affect the contents of template variables.
- See the strip modifier
- function.
-
-
-
-strip tags
-
-{* the following will be all run into one line upon output *}
-{strip}
-<table border=0>
- <tr>
- <td>
- <A HREF="{$url}">
- <font color="red">This is a test</font>
- </A>
- </td>
- </tr>
-</table>
-{/strip}
-
-
-OUTPUT:
-
-<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table>
-
-
- Notice that in the above example, all the lines begin and end
- with HTML tags. Be aware that all the lines are run together.
- If you have plain text at the beginning or end of any line,
- they will be run together, and may not be desired results.
-
-
+&designers.language-builtin-functions.language-function-capture;
+&designers.language-builtin-functions.language-function-config-load;
+&designers.language-builtin-functions.language-function-foreach;
+&designers.language-builtin-functions.language-function-include;
+&designers.language-builtin-functions.language-function-include-php;
+&designers.language-builtin-functions.language-function-insert;
+&designers.language-builtin-functions.language-function-if;
+&designers.language-builtin-functions.language-function-ldelim;
+&designers.language-builtin-functions.language-function-literal;
+&designers.language-builtin-functions.language-function-php;
+&designers.language-builtin-functions.language-function-section;
+&designers.language-builtin-functions.language-function-strip;
+
+ capture
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ no
+ default
+ The name of the captured block
+
+
+ assign
+ string
+ No
+ n/a
+ The variable name where to assign the captured output to
+
+
+
+
+
+ capture is used to collect the output of the template into a
+ variable instead of displaying it. Any content between {capture
+ name="foo"} and {/capture} is collected into the variable specified
+ in the name attribute. The captured content can be used in the
+ template from the special variable $smarty.capture.foo where foo is
+ the value passed in the name attribute. If you do not supply a name
+ attribute, then "default" will be used. All {capture} commands must
+ be paired with {/capture}. You can nest capture commands.
+
+
+ Technical Note
+
+ Smarty 1.4.0 - 1.4.4 placed the captured content into the
+ variable named $return. As of 1.4.5, this behavior was changed to use
+ the name attribute, so update your templates accordingly.
+
+
+
+
+ Be careful when capturing insert output. If
+ you have caching turned on and you have insert
+ commands that you expect to run within cached content, do not
+ capture this content.
+
+
+
+
+ capturing template content
+
+{* we don't want to print a table row unless content is displayed *}
+{capture name=banner}
+{include file="get_banner.tpl"}
+{/capture}
+{if $smarty.capture.banner ne ""}
+ <tr>
+ <td>
+ {$smarty.capture.banner}
+ </td>
+ </tr>
+{/if}
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-config-load.xml b/docs/en/designers/language-builtin-functions/language-function-config-load.xml
new file mode 100644
index 00000000..76645045
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-config-load.xml
@@ -0,0 +1,140 @@
+
+
+
+ config_load
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ file
+ string
+ Yes
+ n/a
+ The name of the config file to include
+
+
+ section
+ string
+ No
+ n/a
+ The name of the section to load
+
+
+ scope
+ string
+ no
+ local
+
+ How the scope of the loaded variables are treated,
+ which must be one of local, parent or global. local
+ means variables are loaded into the local template
+ context. parent means variables are loaded into both
+ the local context and the parent template that called
+ it. global means variables are available to all
+ templates.
+
+
+
+ global
+ boolean
+ No
+ No
+
+ Whether or not variables are visible to the parent
+ template, same as scope=parent. NOTE: This attribute is
+ deprecated by the scope attribute, but still supported.
+ If scope is supplied, this value is ignored.
+
+
+
+
+
+
+ This function is used for loading in variables from a
+ configuration file into the template.
+ See Config Files for more
+ info.
+
+
+function config_load
+
+
+{config_load file="colors.conf"}
+
+<html>
+<title>{#pageTitle#}</title>
+<body bgcolor="{#bodyBgColor#}">
+<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
+ <tr bgcolor="{#rowBgColor#}">
+ <td>First</td>
+ <td>Last</td>
+ <td>Address</td>
+ </tr>
+</table>
+</body>
+</html>
+
+
+ Config files may also contain sections. You can load variables from
+ within a section with the added attribute
+ section.
+
+
+ NOTE: Config file sections and the built-in
+ template function called section have nothing
+ to do with each other, they just happen to share a common naming
+ convention.
+
+
+function config_load with section
+
+{config_load file="colors.conf" section="Customer"}
+
+<html>
+<title>{#pageTitle#}</title>
+<body bgcolor="{#bodyBgColor#}">
+<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
+ <tr bgcolor="{#rowBgColor#}">
+ <td>First</td>
+ <td>Last</td>
+ <td>Address</td>
+ </tr>
+</table>
+</body>
+</html>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-foreach.xml b/docs/en/designers/language-builtin-functions/language-function-foreach.xml
new file mode 100644
index 00000000..3d953651
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-foreach.xml
@@ -0,0 +1,194 @@
+
+
+
+ foreach,foreachelse
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ from
+ string
+ Yes
+ n/a
+ The name of the array you are looping through
+
+
+ item
+ string
+ Yes
+ n/a
+ The name of the variable that is the current
+ element
+
+
+ key
+ string
+ No
+ n/a
+ The name of the variable that is the current key
+
+
+ name
+ string
+ No
+ n/a
+ The name of the foreach loop for accessing
+ foreach properties
+
+
+
+
+
+ foreach loops are an alternative to
+ section loops. foreach is
+ used to loop over a single associative array. The syntax for
+ foreach is much easier than
+ section, but as a tradeoff it can only be used
+ for a single array. foreach tags must be
+ paired with /foreach tags. Required parameters
+ are from and item. The
+ name of the foreach loop can be anything you like, made up of
+ letters, numbers and underscores. foreach
+ loops can be nested, and the nested foreach names must be unique
+ from each other. The from variable (usually an
+ array of values) determines the number of times
+ foreach will loop.
+ foreachelse is executed when there are no
+ values in the from variable.
+
+
+foreach
+
+
+{* this example will print out all the values of the $custid array *}
+{foreach from=$custid item=curr_id}
+ id: {$curr_id}<br>
+{/foreach}
+
+OUTPUT:
+
+id: 1000<br>
+id: 1001<br>
+id: 1002<br>
+
+
+
+foreach key
+
+{* The key contains the key for each looped value
+
+assignment looks like this:
+
+$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
+ array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
+
+*}
+
+{foreach name=outer item=contact from=$contacts}
+ {foreach key=key item=item from=$contact}
+ {$key}: {$item}<br>
+ {/foreach}
+{/foreach}
+
+OUTPUT:
+
+phone: 1<br>
+fax: 2<br>
+cell: 3<br>
+phone: 555-4444<br>
+fax: 555-3333<br>
+cell: 760-1234<br>
+
+
+
+ Foreach-loops also have their own variables that handle foreach properties.
+ These are indicated like so: {$smarty.foreach.foreachname.varname} with
+ foreachname being the name specified as the name
+ attribute of foreach
+
+
+
+
+ iteration
+
+ iteration is used to display the current loop iteration.
+
+
+ Iteration always starts with 1 and is incremented by one
+ one each iteration.
+
+
+
+
+ first
+
+ first is set to true if the current foreach iteration is the first
+ one.
+
+
+
+
+ last
+
+ last is set to true if the current foreach iteration is the last
+ one.
+
+
+
+
+ show
+
+ show is used as a parameter to foreach.
+ show is a boolean value, true or false. If
+ false, the foreach will not be displayed. If there is a foreachelse
+ present, that will be alternately displayed.
+
+
+
+
+ total
+
+ total is used to display the number of iterations that this foreach
+ will loop. This can be used inside or after the foreach.
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-if.xml b/docs/en/designers/language-builtin-functions/language-function-if.xml
new file mode 100644
index 00000000..40cb170e
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-if.xml
@@ -0,0 +1,217 @@
+
+
+
+ if,elseif,else
+
+ {if} statements in Smarty have much the same flexibility as PHP if
+ statements, with a few added features for the template engine.
+ Every {if} must be paired with an
+ {/if}. {else} and
+ {elseif} are also permitted. All PHP conditionals
+ are recognized, such as ||, or,
+ &&, and, etc.
+
+
+
+ The following is a list of recognized qualifiers, which must be
+ separated from surrounding elements by spaces. Note that items listed
+ in [brackets] are optional. PHP equivalents are shown where applicable.
+
+
+
+
+
+
+
+
+
+
+
+ Qualifier
+ Alternates
+ Syntax Example
+ Meaning
+ PHP Equivalent
+
+
+
+
+ ==
+ eq
+ $a eq $b
+ equals
+ ==
+
+
+ !=
+ ne, neq
+ $a neq $b
+ not equals
+ !=
+
+
+ >
+ gt
+ $a gt $b
+ greater than
+ >
+
+
+ <
+ lt
+ $a lt $b
+ less than
+ <
+
+
+ >=
+ gte, ge
+ $a ge $b
+ greater than or equal
+ >=
+
+
+ <=
+ lte, le
+ $a le $b
+ less than or equal
+ <=
+
+
+ !
+ not
+ not $a
+ negation (unary)
+ !
+
+
+ %
+ mod
+ $a mod $b
+ modulous
+ %
+
+
+ is [not] div by
+
+ $a is not div by 4
+ divisible by
+ $a % $b == 0
+
+
+ is [not] even
+
+ $a is not even
+ [not] an even number (unary)
+ $a % 2 == 0
+
+
+ is [not] even by
+
+ $a is not even by $b
+ grouping level [not] even
+ ($a / $b) % 2 == 0
+
+
+ is [not] odd
+
+ $a is not odd
+ [not] an odd number (unary)
+ $a % 2 != 0
+
+
+ is [not] odd by
+
+ $a is not odd by $b
+ [not] an odd grouping
+ ($a / $b) % 2 != 0
+
+
+
+
+
+if statements
+
+{if $name eq "Fred"}
+ Welcome Sir.
+{elseif $name eq "Wilma"}
+ Welcome Ma'am.
+{else}
+ Welcome, whatever you are.
+{/if}
+
+{* an example with "or" logic *}
+{if $name eq "Fred" or $name eq "Wilma"}
+ ...
+{/if}
+
+{* same as above *}
+{if $name == "Fred" || $name == "Wilma"}
+ ...
+{/if}
+
+{* the following syntax will NOT work, conditional qualifiers
+ must be separated from surrounding elements by spaces *}
+{if $name=="Fred" || $name=="Wilma"}
+ ...
+{/if}
+
+
+{* parenthesis are allowed *}
+{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
+ ...
+{/if}
+
+{* you can also embed php function calls *}
+{if count($var) gt 0}
+ ...
+{/if}
+
+{* test if values are even or odd *}
+{if $var is even}
+ ...
+{/if}
+{if $var is odd}
+ ...
+{/if}
+{if $var is not odd}
+ ...
+{/if}
+
+{* test if var is divisible by 4 *}
+{if $var is div by 4}
+ ...
+{/if}
+
+{* test if var is even, grouped by two. i.e.,
+0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc. *}
+{if $var is even by 2}
+ ...
+{/if}
+
+{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
+{if $var is even by 3}
+ ...
+{/if}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-include-php.xml b/docs/en/designers/language-builtin-functions/language-function-include-php.xml
new file mode 100644
index 00000000..bcc583bd
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-include-php.xml
@@ -0,0 +1,141 @@
+
+
+
+ include_php
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ file
+ string
+ Yes
+ n/a
+ The name of the php file to include
+
+
+ once
+ boolean
+ No
+ true
+ whether or not to include the php file more than
+ once if included multiple times
+
+
+ assign
+ string
+ No
+ n/a
+ The name of the variable that the output of
+ include_php will be assigned to
+
+
+
+
+
+ Technical Note
+
+ include_php is pretty much deprecated from Smarty, you can
+ accomplish the same functionality via a custom template function.
+ The only reason to use include_php is if you really have a need to
+ quarantine the php function away from the plugin directory or your
+ application code. See the componentized template
+ example for details.
+
+
+
+ include_php tags are used to include a php script in your template.
+ If security is enabled, then the php script must be located in the
+ $trusted_dir path. The include_php tag must have the attribute
+ "file", which contains the path to the included php file, either
+ relative to $trusted_dir, or an absolute path.
+
+
+ include_php is a nice way to handle componentized templates, and
+ keep PHP code separate from the template files. Lets say you have a
+ template that shows your site navigation, which is pulled
+ dynamically from a database. You can keep your PHP logic that grabs
+ database content in a separate directory, and include it at the top
+ of the template. Now you can include this template anywhere without
+ worrying if the database information was assigned by the application
+ before hand.
+
+
+ By default, php files are only included once even if called
+ multiple times in the template. You can specify that it should be
+ included every time with the once attribute.
+ Setting once to false will include the php script each time it is
+ included in the template.
+
+
+ You can optionally pass the assign attribute,
+ which will specify a template variable name that the output of
+ include_php will be assigned to instead of
+ displayed.
+
+
+ The smarty object is available as $this within the PHP script that you
+ include.
+
+
+function include_php
+
+load_nav.php
+-------------
+
+<?php
+
+ // load in variables from a mysql db and assign them to the template
+ require_once("MySQL.class.php");
+ $sql = new MySQL;
+ $sql->query("select * from site_nav_sections order by name",SQL_ALL);
+ $this->assign('sections',$sql->record);
+
+?>
+
+
+index.tpl
+---------
+
+{* absolute path, or relative to $trusted_dir *}
+{include_php file="/path/to/load_nav.php"}
+
+{foreach item="curr_section" from=$sections}
+ <a href="{$curr_section.url}">{$curr_section.name}</a><br>
+{/foreach}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-include.xml b/docs/en/designers/language-builtin-functions/language-function-include.xml
new file mode 100644
index 00000000..4202fe86
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-include.xml
@@ -0,0 +1,124 @@
+
+
+
+ include
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ file
+ string
+ Yes
+ n/a
+ The name of the template file to include
+
+
+ assign
+ string
+ No
+ n/a
+ The name of the variable that the output of
+ include will be assigned to
+
+
+ [var ...]
+ [var type]
+ No
+ n/a
+ variable to pass local to template
+
+
+
+
+
+ Include tags are used for including other templates in the current
+ template. Any variables available in the current template are also
+ available within the included template. The include tag must have
+ the attribute "file", which contains the template resource path.
+
+
+ You can optionally pass the assign attribute,
+ which will specify a template variable name that the output of
+ include will be assigned to instead of
+ displayed.
+
+
+function include
+
+{include file="header.tpl"}
+
+{* body of template goes here *}
+
+{include file="footer.tpl"}
+
+
+ You can also pass variables to included templates as attributes.
+ Any variables explicitly passed to an included template as
+ attributes are only available within the scope of the included
+ file. Attribute variables override current template variables, in
+ the case they are named alike.
+
+
+function include passing variables
+
+{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"}
+
+{* body of template goes here *}
+
+{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
+
+
+ Use the syntax for template resources to
+ include files outside of the $template_dir directory.
+
+
+function include template resource examples
+
+{* absolute filepath *}
+{include file="/usr/local/include/templates/header.tpl"}
+
+{* absolute filepath (same thing) *}
+{include file="file:/usr/local/include/templates/header.tpl"}
+
+{* windows absolute filepath (MUST use "file:" prefix) *}
+{include file="file:C:/www/pub/templates/header.tpl"}
+
+{* include from template resource named "db" *}
+{include file="db:header.tpl"}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-insert.xml b/docs/en/designers/language-builtin-functions/language-function-insert.xml
new file mode 100644
index 00000000..660686a5
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-insert.xml
@@ -0,0 +1,140 @@
+
+
+
+ insert
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ Yes
+ n/a
+ The name of the insert function (insert_name)
+
+
+ assign
+ string
+ No
+ n/a
+ The name of the template variable the output will
+ be assigned to
+
+
+ script
+ string
+ No
+ n/a
+ The name of the php script that is included before
+ the insert function is called
+
+
+ [var ...]
+ [var type]
+ No
+ n/a
+ variable to pass to insert function
+
+
+
+
+
+ Insert tags work much like include tags, except that insert tags
+ are not cached when you have template caching enabled. They will be
+ executed on every invocation of the template.
+
+
+ Let's say you have a template with a banner slot at the top of
+ the page. The banner can contain any mixture of HTML, images,
+ flash, etc. so we can't just use a static link here, and we
+ don't want this contents cached with the page. In comes the
+ insert tag: the template knows #banner_location_id# and
+ #site_id# values (gathered from a config file), and needs to
+ call a function to get the banner contents.
+
+
+function insert
+
+{* example of fetching a banner *}
+{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}
+
+
+ In this example, we are using the name "getBanner" and passing the
+ parameters #banner_location_id# and #site_id#. Smarty will look
+ for a function named insert_getBanner() in your PHP application, passing
+ the values of #banner_location_id# and #site_id# as the first argument
+ in an associative array. All insert function names in
+ your application must be prepended with "insert_" to remedy possible
+ function name-space conflicts. Your insert_getBanner() function should
+ do something with the passed values and return the results. These results
+ are then displayed in the template in place of the insert tag.
+ In this example, Smarty would call this function:
+ insert_getBanner(array("lid" => "12345","sid" => "67890"));
+ and display the returned results in place of the insert tag.
+
+
+ If you supply the "assign" attribute, the output of the insert tag
+ will be assigned to this template variable instead of being output
+ to the template. NOTE: assigning the output to a template variable
+ isn't too useful with caching enabled.
+
+
+ If you supply the "script" attribute, this php script will be
+ included (only once) before the insert function is executed. This
+ is the case where the insert function may not exist yet, and a php
+ script must be included first to make it work. The path can be
+ either absolute, or relative to $trusted_dir. When security is
+ enabled, the script must reside in $trusted_dir.
+
+
+ The Smarty object is passed as the second argument. This way you
+ can reference and modify information in the Smarty object from
+ within the insert function.
+
+
+ Technical Note
+
+ It is possible to have portions of the template not
+ cached. If you have caching
+ turned on, insert tags will not be cached. They will run
+ dynamically every time the page is created, even within cached
+ pages. This works good for things like banners, polls, live
+ weather, search results, user feedback areas, etc.
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-ldelim.xml b/docs/en/designers/language-builtin-functions/language-function-ldelim.xml
new file mode 100644
index 00000000..71e3dca3
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-ldelim.xml
@@ -0,0 +1,42 @@
+
+
+
+ ldelim,rdelim
+
+ ldelim and rdelim are used for displaying the literal delimiter, in
+ our case "{" or "}". The template engine always tries to interpret
+ delimiters, so this is the way around that.
+
+
+ldelim, rdelim
+
+{* this will print literal delimiters out of the template *}
+
+{ldelim}funcname{rdelim} is how functions look in Smarty!
+
+
+OUTPUT:
+
+{funcname} is how functions look in Smarty!
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-literal.xml b/docs/en/designers/language-builtin-functions/language-function-literal.xml
new file mode 100644
index 00000000..7d81d041
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-literal.xml
@@ -0,0 +1,54 @@
+
+
+
+ literal
+
+ Literal tags allow a block of data to be taken literally,
+ not being interpreted by the Smarty engine. This is handy
+ for things like javascript sections, where there maybe
+ curly braces and such things that would confuse the template
+ parser. Anything within {literal}{/literal} tags is not
+ interpreted, but displayed as-is.
+
+
+literal tags
+
+{literal}
+ <script language=javascript>
+
+ <!--
+ function isblank(field) {
+ if (field.value == '')
+ { return false; }
+ else
+ {
+ document.loginform.submit();
+ return true;
+ }
+ }
+ // -->
+
+ </script>
+{/literal}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-php.xml b/docs/en/designers/language-builtin-functions/language-function-php.xml
new file mode 100644
index 00000000..f9556962
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-php.xml
@@ -0,0 +1,40 @@
+
+
+
+ php
+
+ php tags allow php to be embedded directly into the template. They
+ will not be escaped, regardless of the $php_handling setting. This
+ is for advanced users only, not normally needed.
+
+
+php tags
+
+{php}
+ // including a php script directly
+ // from the template.
+ include("/path/to/display_weather.php");
+{/php}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-section.xml b/docs/en/designers/language-builtin-functions/language-function-section.xml
new file mode 100644
index 00000000..dd9247dc
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-section.xml
@@ -0,0 +1,568 @@
+
+
+
+ section,sectionelse
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ Yes
+ n/a
+ The name of the section
+
+
+ loop
+ [$variable_name]
+ Yes
+ n/a
+ The name of the variable to determine # of loop
+ iterations
+
+
+ start
+ integer
+ No
+ 0The index
+ position that the section will begin looping. If the
+ value is negative, the start position is calculated
+ from the end of the array. For example, if there are
+ seven values in the loop array and start is -2, the
+ start index is 5. Invalid values (values outside of the
+ length of the loop array) are automatically truncated
+ to the closest valid value.
+
+
+ step
+ integer
+ No
+ 1
+ The step value that will be used to traverse the
+ loop array. For example, step=2 will loop on index
+ 0,2,4, etc. If step is negative, it will step through
+ the array backwards.
+
+
+ max
+ integer
+ No
+ 1
+ Sets the maximum number of times the section
+ will loop.
+
+
+ show
+ boolean
+ No
+ true
+ determines whether or not to show this section
+
+
+
+
+
+ Template sections are used for looping over arrays of data. All
+ section tags must be paired with
+ /section tags. Required parameters are
+ name and loop. The name
+ of the section can be anything you like, made up of letters,
+ numbers and underscores. Sections can be nested, and the nested
+ section names must be unique from each other. The loop variable
+ (usually an array of values) determines the number of times the
+ section will loop. When printing a variable within a section, the
+ section name must be given next to variable name within brackets
+ []. sectionelse is
+ executed when there are no values in the loop variable.
+
+
+section
+
+
+{* this example will print out all the values of the $custid array *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+{/section}
+
+OUTPUT:
+
+id: 1000<br>
+id: 1001<br>
+id: 1002<br>
+
+
+
+section loop variable
+
+{* the loop variable only determines the number of times to loop.
+ you can access any variable from the template within the section.
+ This example assumes that $custid, $name and $address are all
+ arrays containing the same number of values *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+ name: {$name[customer]}<br>
+ address: {$address[customer]}<br>
+ <p>
+{/section}
+
+
+OUTPUT:
+
+id: 1000<br>
+name: John Smith<br>
+address: 253 N 45th<br>
+<p>
+id: 1001<br>
+name: Jack Jones<br>
+address: 417 Mulberry ln<br>
+<p>
+id: 1002<br>
+name: Jane Munson<br>
+address: 5605 apple st<br>
+<p>
+
+
+
+section names
+
+{* the name of the section can be anything you like,
+ and it is used to reference the data within the section *}
+{section name=mydata loop=$custid}
+ id: {$custid[mydata]}<br>
+ name: {$name[mydata]}<br>
+ address: {$address[mydata]}<br>
+ <p>
+{/section}
+
+
+
+nested sections
+
+{* sections can be nested as deep as you like. With nested sections,
+ you can access complex data structures, such as multi-dimensional
+ arrays. In this example, $contact_type[customer] is an array of
+ contact types for the current customer. *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+ name: {$name[customer]}<br>
+ address: {$address[customer]}<br>
+ {section name=contact loop=$contact_type[customer]}
+ {$contact_type[customer][contact]}: {$contact_info[customer][contact]}<br>
+ {/section}
+ <p>
+{/section}
+
+
+OUTPUT:
+
+id: 1000<br>
+name: John Smith<br>
+address: 253 N 45th<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: john@mydomain.com<br>
+<p>
+id: 1001<br>
+name: Jack Jones<br>
+address: 417 Mulberry ln<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jack@mydomain.com<br>
+<p>
+id: 1002<br>
+name: Jane Munson<br>
+address: 5605 apple st<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jane@mydomain.com<br>
+<p>
+
+
+
+sections and associative arrays
+
+{* This is an example of printing an associative array
+ of data within a section *}
+{section name=customer loop=$contacts}
+ name: {$contacts[customer].name}<br>
+ home: {$contacts[customer].home}<br>
+ cell: {$contacts[customer].cell}<br>
+ e-mail: {$contacts[customer].email}<p>
+{/section}
+
+
+OUTPUT:
+
+name: John Smith<br>
+home: 555-555-5555<br>
+cell: 555-555-5555<br>
+e-mail: john@mydomain.com<p>
+name: Jack Jones<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jack@mydomain.com<p>
+name: Jane Munson<br>
+home phone: 555-555-5555<br>
+cell phone: 555-555-5555<br>
+e-mail: jane@mydomain.com<p>
+
+
+
+
+
+sectionelse
+
+{* sectionelse will execute if there are no $custid values *}
+{section name=customer loop=$custid}
+ id: {$custid[customer]}<br>
+{sectionelse}
+ there are no values in $custid.
+{/section}
+
+
+ Sections also have their own variables that handle section properties.
+ These are indicated like so: {$smarty.section.sectionname.varname}
+
+
+ NOTE: As of Smarty 1.5.0, the syntax for section property variables has
+ been changed from {%sectionname.varname%} to
+ {$smarty.section.sectionname.varname}. The old syntax is still
+ supported, but you will only see reference to the new syntax in the
+ manual examples.
+
+
+ index
+
+ index is used to display the current loop index, starting with zero
+ (or the start attribute if given), and incrementing by one (or by
+ the step attribute if given.)
+
+
+ Technical Note
+
+ If the step and start section properties are not
+ modified, then this works the same as the iteration section
+ property, except it starts on 0 instead of 1.
+
+
+
+ section property index
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ 1 id: 1001<br>
+ 2 id: 1002<br>
+
+
+
+
+ index_prev
+
+ index_prev is used to display the previous loop index.
+ on the first loop, this is set to -1.
+
+
+ section property index_prev
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
+ {if $custid[customer.index_prev] ne $custid[customer.index]}
+ The customer id changed<br>
+ {/if}
+ {/section}
+
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ The customer id changed<br>
+ 1 id: 1001<br>
+ The customer id changed<br>
+ 2 id: 1002<br>
+ The customer id changed<br>
+
+
+
+
+ index_next
+
+ index_next is used to display the next loop index. On the last
+ loop, this is still one more than the current index (respecting the
+ setting of the step attribute, if given.)
+
+
+ section property index_next
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
+ {if $custid[customer.index_next] ne $custid[customer.index]}
+ The customer id will change<br>
+ {/if}
+ {/section}
+
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ The customer id will change<br>
+ 1 id: 1001<br>
+ The customer id will change<br>
+ 2 id: 1002<br>
+ The customer id will change<br>
+
+
+
+
+ iteration
+
+ iteration is used to display the current loop iteration.
+
+
+ NOTE: This is not affected by the section properties start, step and
+ max, unlike the index property. Iteration also starts with 1
+ instead of 0 like index. rownum is an alias to iteration, they work
+ identical.
+
+
+ section property iteration
+
+ {section name=customer loop=$custid start=5 step=2}
+ current loop iteration: {$smarty.section.customer.iteration}<br>
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {* FYI, $custid[customer.index] and $custid[customer] are identical in meaning *}
+ {if $custid[customer.index_next] ne $custid[customer.index]}
+ The customer id will change<br>
+ {/if}
+ {/section}
+
+
+ OUTPUT:
+
+ current loop iteration: 1
+ 5 id: 1000<br>
+ The customer id will change<br>
+ current loop iteration: 2
+ 7 id: 1001<br>
+ The customer id will change<br>
+ current loop iteration: 3
+ 9 id: 1002<br>
+ The customer id will change<br>
+
+
+
+
+ first
+
+ first is set to true if the current section iteration is the first
+ one.
+
+
+ section property first
+
+ {section name=customer loop=$custid}
+ {if $smarty.section.customer.first}
+ <table>
+ {/if}
+
+ <tr><td>{$smarty.section.customer.index} id:
+ {$custid[customer]}</td></tr>
+
+ {if $smarty.section.customer.last}
+ </table>
+ {/if}
+ {/section}
+
+
+ OUTPUT:
+
+ <table>
+ <tr><td>0 id: 1000</td></tr>
+ <tr><td>1 id: 1001</td></tr>
+ <tr><td>2 id: 1002</td></tr>
+ </table>
+
+
+
+
+ last
+
+ last is set to true if the current section iteration is the last
+ one.
+
+
+ section property last
+
+ {section name=customer loop=$custid}
+ {if $smarty.section.customer.first}
+ <table>
+ {/if}
+
+ <tr><td>{$smarty.section.customer.index} id:
+ {$custid[customer]}</td></tr>
+
+ {if $smarty.section.customer.last}
+ </table>
+ {/if}
+ {/section}
+
+
+ OUTPUT:
+
+ <table>
+ <tr><td>0 id: 1000</td></tr>
+ <tr><td>1 id: 1001</td></tr>
+ <tr><td>2 id: 1002</td></tr>
+ </table>
+
+
+
+
+ rownum
+
+ rownum is used to display the current loop iteration,
+ starting with one. It is an alias to iteration, they work
+ identically.
+
+
+ section property rownum
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
+ {/section}
+
+
+ OUTPUT:
+
+ 1 id: 1000<br>
+ 2 id: 1001<br>
+ 3 id: 1002<br>
+
+
+
+
+ loop
+
+ loop is used to display the last index number that this section
+ looped. This can be used inside or after the section.
+
+
+ section property index
+
+ {section name=customer loop=$custid}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+ There were {$smarty.section.customer.loop} customers shown above.
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ 1 id: 1001<br>
+ 2 id: 1002<br>
+
+ There were 3 customers shown above.
+
+
+
+
+ show
+
+ show is used as a parameter to section.
+ show is a boolean value, true or false. If
+ false, the section will not be displayed. If there is a sectionelse
+ present, that will be alternately displayed.
+
+
+ section attribute show
+
+ {* $show_customer_info may have been passed from the PHP
+ application, to regulate whether or not this section shows *}
+ {section name=customer loop=$custid show=$show_customer_info}
+ {$smarty.section.customer.rownum} id: {$custid[customer]}<br>
+ {/section}
+
+ {if $smarty.section.customer.show}
+ the section was shown.
+ {else}
+ the section was not shown.
+ {/if}
+
+
+ OUTPUT:
+
+ 1 id: 1000<br>
+ 2 id: 1001<br>
+ 3 id: 1002<br>
+
+ the section was shown.
+
+
+
+
+ total
+
+ total is used to display the number of iterations that this section
+ will loop. This can be used inside or after the section.
+
+
+ section property total
+
+ {section name=customer loop=$custid step=2}
+ {$smarty.section.customer.index} id: {$custid[customer]}<br>
+ {/section}
+
+ There were {$smarty.section.customer.total} customers shown above.
+
+ OUTPUT:
+
+ 0 id: 1000<br>
+ 2 id: 1001<br>
+ 4 id: 1002<br>
+
+ There were 3 customers shown above.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-builtin-functions/language-function-strip.xml b/docs/en/designers/language-builtin-functions/language-function-strip.xml
new file mode 100644
index 00000000..40959fa3
--- /dev/null
+++ b/docs/en/designers/language-builtin-functions/language-function-strip.xml
@@ -0,0 +1,74 @@
+
+
+
+ strip
+
+ Many times web designers run into the issue where white space and
+ carriage returns affect the output of the rendered HTML (browser
+ "features"), so you must run all your tags together in the template
+ to get the desired results. This usually ends up in unreadable or
+ unmanageable templates.
+
+
+ Anything within {strip}{/strip} tags in Smarty are stripped of the
+ extra spaces or carriage returns at the beginnings and ends of the
+ lines before they are displayed. This way you can keep your
+ templates readable, and not worry about extra white space causing
+ problems.
+
+
+ Technical Note
+
+ {strip}{/strip} does not affect the contents of template variables.
+ See the strip modifier
+ function.
+
+
+
+strip tags
+
+{* the following will be all run into one line upon output *}
+{strip}
+<table border=0>
+ <tr>
+ <td>
+ <A HREF="{$url}">
+ <font color="red">This is a test</font>
+ </A>
+ </td>
+ </tr>
+</table>
+{/strip}
+
+
+OUTPUT:
+
+<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">This is a test</font></A></td></tr></table>
+
+
+ Notice that in the above example, all the lines begin and end
+ with HTML tags. Be aware that all the lines are run together.
+ If you have plain text at the beginning or end of any line,
+ they will be run together, and may not be desired results.
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-combining-modifiers.xml b/docs/en/designers/language-combining-modifiers.xml
index 5b20199b..5def7b42 100644
--- a/docs/en/designers/language-combining-modifiers.xml
+++ b/docs/en/designers/language-combining-modifiers.xml
@@ -53,4 +53,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
--->
\ No newline at end of file
+-->
diff --git a/docs/en/designers/language-custom-functions.xml b/docs/en/designers/language-custom-functions.xml
index bf54d15a..3eb109f8 100644
--- a/docs/en/designers/language-custom-functions.xml
+++ b/docs/en/designers/language-custom-functions.xml
@@ -6,2669 +6,24 @@
Smarty comes with several custom functions that you can
use in the templates.
-
- assign
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- var
- string
- Yes
- n/a
- The name of the variable being assigned
-
-
- value
- string
- Yes
- n/a
- The value being assigned
-
-
-
-
-
- assign is used for assigning template variables during the execution
- of the template.
-
-
-assign
-
-{assign var="name" value="Bob"}
-
-The value of $name is {$name}.
-
-OUTPUT:
-
-The value of $name is Bob.
-
-
-
- counter
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- No
- default
- The name of the counter
-
-
- start
- number
- No
- 1
- The initial number to start counting from
-
-
- skip
- number
- No
- 1
- The interval to count by
-
-
- direction
- string
- No
- up
- the direction to count (up/down)
-
-
- print
- boolean
- No
- true
- Whether or not to print the value
-
-
- assign
- string
- No
- n/a
- the template variable the output will be assigned
- to
-
-
-
-
-
- counter is used to print out a count. counter will remember the
- count on each iteration. You can adjust the number, the interval
- and the direction of the count, as well as determine whether or not
- to print the value. You can run multiple counters concurrently by
- supplying a unique name for each one. If you do not supply a name,
- the name 'default' will be used.
-
-
- If you supply the special "assign" attribute, the output of the
- counter function will be assigned to this template variable instead of
- being output to the template.
-
-
-counter
-
-{* initialize the count *}
-{counter start=0 skip=2}<br>
-{counter}<br>
-{counter}<br>
-{counter}<br>
-
-OUTPUT:
-
-0<br>
-2<br>
-4<br>
-6<br>
-
-
-
- cycle
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- No
- default
- The name of the cycle
-
-
- values
- mixed
- Yes
- N/A
- The values to cycle through, either a comma
- delimited list (see delimiter attribute), or an array
- of values.
-
-
- print
- boolean
- No
- true
- Whether to print the value or not
-
-
- advance
- boolean
- No
- true
- Whether or not to advance to the next value
-
-
- delimiter
- string
- No
- ,
- The delimiter to use in the values attribute.
-
-
- assign
- string
- No
- n/a
- the template variable the output will be assigned
- to
-
-
-
-
-
- Cycle is used to cycle though a set of values. This makes it easy
- to alternate between two or more colors in a table, or cycle
- through an array of values.
-
-
- You can cycle through more than one set of values in your template
- by supplying a name attribute. Give each set of values a unique
- name.
-
-
- You can force the current value not to print with the print
- attribute set to false. This would be useful for silently skipping
- a value.
-
-
- The advance attribute is used to repeat a value. When set to false,
- the next call to cycle will print the same value.
-
-
- If you supply the special "assign" attribute, the output of the
- cycle function will be assigned to this template variable instead of
- being output to the template.
-
-
-cycle
-
-{section name=rows loop=$data}
-<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
- <td>{$data[rows]}</td>
-</tr>
-{/section}
-
-OUTPUT:
-
-<tr bgcolor="#eeeeee">
- <td>1</td>
-</tr>
-<tr bgcolor="#d0d0d0">
- <td>2</td>
-</tr>
-<tr bgcolor="#eeeeee">
- <td>3</td>
-</tr>
-
-
-
-
- debug
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- output
- string
- No
- html
- output type, html or javascript
-
-
-
-
-
- {debug} dumps the debug console to the page. This works regardless
- of the debug
- settings in Smarty. Since this gets executed at runtime, this is
- only able to show the assigned variables, not the templates that
- are in use. But, you see all the currently available variables
- within the scope of this template.
-
-
-
- eval
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- var
- mixed
- Yes
- n/a
- variable (or string) to evaluate
-
-
- assign
- string
- No
- n/a
- the template variable the output will be assigned
- to
-
-
-
-
-
- eval is used to evaluate a variable as a template. This can be used
- for things like embedding template tags/variables into variables or
- tags/variables into config file variables.
-
-
- If you supply the special "assign" attribute, the output of the
- eval function will be assigned to this template variable instead of
- being output to the template.
-
-
- Technical Note
-
- Evaluated variables are treated the same as templates. They follow
- the same escapement and security features just as if they were
- templates.
-
-
-
- Technical Note
-
- Evaluated variables are compiled on every invocation, the compiled
- versions are not saved! However if you have caching enabled, the
- output will be cached with the rest of the template.
-
-
-
-eval
-
-setup.conf
-----------
-
-emphstart = <b>
-emphend = </b>
-title = Welcome to {$company}'s home page!
-ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
-ErrorState = You must supply a {#emphstart#}state{#emphend#}.
-
-
-index.tpl
----------
-
-{config_load file="setup.conf"}
-
-{eval var=$foo}
-{eval var=#title#}
-{eval var=#ErrorCity#}
-{eval var=#ErrorState# assign="state_error"}
-{$state_error}
-
-OUTPUT:
-
-This is the contents of foo.
-Welcome to Foobar Pub & Grill's home page!
-You must supply a <b>city</b>.
-You must supply a <b>state</b>.
-
-
-
-
-
- fetch
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- file
- string
- Yes
- n/a
- the file, http or ftp site to fetch
-
-
- assign
- string
- No
- n/a
- the template variable the output will be assigned
- to
-
-
-
-
-
- fetch is used to fetch files from the local file system, http, or
- ftp and display the contents. If the file name begins with
- "http://", the web site page will be fetched and displayed. If the
- file name begins with "ftp://", the file will be fetched from the
- ftp server and displayed. For local files, the full system file
- path must be given, or a path relative to the executed php script.
-
-
- If you supply the special "assign" attribute, the output of the
- fetch function will be assigned to this template variable instead of
- being output to the template. (new in Smarty 1.5.0)
-
-
- Technical Note
-
- This will not support http redirects, be sure to
- include a trailing slash on your web page fetches where necessary.
-
-
-
- Technical Note
-
- If template security is turned on and you are
- fetching a file from the local file system, this will only allow
- files from within one of the defined secure directories.
- ($secure_dir)
-
-
-
-fetch
-
-{* include some javascript in your template *}
-{fetch file="/export/httpd/www.domain.com/docs/navbar.js"}
-
-{* embed some weather text in your template from another web site *}
-{fetch file="http://www.myweather.com/68502/"}
-
-{* fetch a news headline file via ftp *}
-{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"}
-
-{* assign the fetched contents to a template variable *}
-{fetch file="http://www.myweather.com/68502/" assign="weather"}
-{if $weather ne ""}
- <b>{$weather}</b>
-{/if}
-
-
-
- html_checkboxes
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- No
- checkbox
- name of checkbox list
-
-
- values
- array
- Yes, unless using options attribute
- n/a
- an array of values for checkbox buttons
-
-
- output
- array
- Yes, unless using options attribute
- n/a
- an array of output for checkbox buttons
-
-
- selected
- string/array
- No
- empty
- the selected checkbox element(s)
-
-
- options
- associative array
- Yes, unless using values and output
- n/a
- an associative array of values and output
-
-
- separator
- string
- No
- empty
- string of text to separate each checkbox item
-
-
- labels
- boolean
- No
- true
- add <label>-tags to the output
-
-
-
-
-
- html_checkboxes is a custom function that creates an html checkbox
- group with provided data. It takes care of which item(s) are
- selected by default as well. Required attributes are values and
- output, unless you use options instead. All output is XHTML
- compatible.
-
-
- All parameters that are not in the list above are printed as
- name/value-pairs inside each of the created <input>-tags.
-
-
-html_checkboxes
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_ids', array(1000,1001,1002,1003));
-$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
-
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_checkboxes', array(
- 1000 => 'Joe Schmoe',
- 1001 => 'Jack Smith',
- 1002 => 'Jane Johnson',
- 1003 => 'Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"}
-
-
-OUTPUT: (both examples)
-
-<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
-<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br />
-<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
-<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />
-
-
-
- html_image
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- file
- string
- Yes
- n/a
- name/path to image
-
-
- border
- string
- No
- 0
- size of border around image
-
-
- height
- string
- No
- actual image height
- height to display image
-
-
- width
- string
- No
- actual image width
- width to display image
-
-
- basedir
- string
- no
- web server doc root
- directory to base relative paths from
-
-
- alt
- string
- no
- ""
- alternative description of the image
-
-
- href
- string
- no
- n/a
- href value to link the image to
-
-
-
-
-
- html_image is a custom function that generates an HTML tag for an
- image. The height and width are automatically calculated from the
- image file if none are supplied.
-
-
- basedir is the base directory that relative image paths are based
- from. If not given, the web server document root (env variable
- DOCUMENT_ROOT) is used as the base. If security is enabled, the
- path to the image must be within a secure directory.
-
-
- href is the href value to link the image to. If link is supplied, an
- <a href="LINKVALUE"><a> tag is put around the image tag.
-
-
- Technical Note
-
- html_image requires a hit to the disk to read the image and
- calculate the height and width. If you don't use template
- caching, it is generally better to avoid html_image and leave
- image tags static for optimal performance.
-
-
-
- html_image example
-
-display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-
-
- a possible output would be:
-
-
-
-
-
-]]>
-
-
-
-
- html_options
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- values
- array
- Yes, unless using options attribute
- n/a
- an array of values for dropdown
-
-
- output
- array
- Yes, unless using options attribute
- n/a
- an array of output for dropdown
-
-
- selected
- string/array
- No
- empty
- the selected option element(s)
-
-
- options
- associative array
- Yes, unless using values and output
- n/a
- an associative array of values and output
-
-
- name
- string
- No
- empty
- name of select group
-
-
-
-
-
- html_options is a custom function that creates html option group
- with provided data. It takes care of which item(s) are selected by
- default as well. Required attributes are values and output, unless
- you use options instead.
-
-
- If a given value is an array, it will treat it as an html OPTGROUP,
- and display the groups. Recursion is supported with OPTGROUP. All
- output is XHTML compatible.
-
-
- If the optional name attribute is given, the
- <select name="groupname"></select> tags will enclose
- the option list. Otherwise only the option list is generated.
-
-
- All parameters that are not in the list above are printed as
- name/value-pairs inside the <select>-tag. They are ignored if
- the optional name is not given.
-
-
-html_options
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_ids', array(1000,1001,1002,1003));
-$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
-Johnson','Carlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-index.tpl:
-
-<select name=customer_id>
- {html_options values=$cust_ids selected=$customer_id output=$cust_names}
-</select>
-
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_options', array(
- 1001 => 'Joe Schmoe',
- 1002 => 'Jack Smith',
- 1003 => 'Jane Johnson',
- 1004 => 'Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-index.tpl:
-
-<select name=customer_id>
- {html_options options=$cust_options selected=$customer_id}
-</select>
-
-
-OUTPUT: (both examples)
-
-<select name=customer_id>
- <option value="1000">Joe Schmoe</option>
- <option value="1001" selected="selected">Jack Smith</option>
- <option value="1002">Jane Johnson</option>
- <option value="1003">Charlie Brown</option>
-</select>
-
-
-
- html_radios
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- name
- string
- No
- radio
- name of radio list
-
-
- values
- array
- Yes, unless using options attribute
- n/a
- an array of values for radio buttons
-
-
- output
- array
- Yes, unless using options attribute
- n/a
- an array of output for radio buttons
-
-
- selected
- string
- No
- empty
- the selected radio element
-
-
- options
- associative array
- Yes, unless using values and output
- n/a
- an associative array of values and output
-
-
- separator
- string
- No
- empty
- string of text to separate each radio item
-
-
-
-
-
- html_radios is a custom function that creates html radio button
- group with provided data. It takes care of which item is selected
- by default as well. Required attributes are values and output,
- unless you use options instead. All output is XHTML compatible.
-
-
- All parameters that are not in the list above are printed as
- name/value-pairs inside each of the created <input>-tags.
-
-
-
-html_radios
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_ids', array(1000,1001,1002,1003));
-$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
-Johnson','Carlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_radios values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
-
-
-index.php:
-
-require('Smarty.class.php');
-$smarty = new Smarty;
-$smarty->assign('cust_radios', array(
- 1001 => 'Joe Schmoe',
- 1002 => 'Jack Smith',
- 1003 => 'Jane Johnson',
- 1004 => 'Charlie Brown'));
-$smarty->assign('customer_id', 1001);
-$smarty->display('index.tpl');
-
-
-index.tpl:
-
-{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"}
-
-
-OUTPUT: (both examples)
-
-<input type="radio" name="id[]" value="1000">Joe Schmoe<br />
-<input type="radio" name="id[]" value="1001" checked="checked"><br />
-<input type="radio" name="id[]" value="1002">Jane Johnson<br />
-<input type="radio" name="id[]" value="1003">Charlie Brown<br />
-
-
-
- html_select_date
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- prefix
- string
- No
- Date_
- what to prefix the var name with
-
-
- time
- timestamp/YYYY-MM-DD
- No
- current time in unix timestamp or YYYY-MM-DD
- format
- what date/time to use
-
-
- start_year
- string
- No
- current year
- the first year in the dropdown, either
- year number, or relative to current year (+/- N)
-
-
- end_year
- string
- No
- same as start_year
- the last year in the dropdown, either
- year number, or relative to current year (+/- N)
-
-
- display_days
- boolean
- No
- true
- whether to display days or not
-
-
- display_months
- boolean
- No
- true
- whether to display months or not
-
-
- display_years
- boolean
- No
- true
- whether to display years or not
-
-
- month_format
- string
- No
- %B
- what format the month should be in (strftime)
-
-
- day_format
- string
- No
- %02d
- what format the day output should be in (sprintf)
-
-
- day_value_format
- string
- No
- %d
- what format the day value should be in (sprintf)
-
-
- year_as_text
- boolean
- No
- false
- whether or not to display the year as text
-
-
- reverse_years
- boolean
- No
- false
- display years in reverse order
-
-
- field_array
- string
- No
- null
-
- if a name is given, the select boxes will be drawn
- such that the results will be returned to PHP in the
- form of name[Day], name[Year], name[Month].
-
-
-
- day_size
- string
- No
- null
- adds size attribute to select tag if given
-
-
- month_size
- string
- No
- null
- adds size attribute to select tag if given
-
-
- year_size
- string
- No
- null
- adds size attribute to select tag if given
-
-
- all_extra
- string
- No
- null
- adds extra attributes to all select/input tags if
- given
-
-
- day_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- month_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- year_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- field_order
- string
- No
- MDY
- the order in which to display the fields
-
-
- field_separator
- string
- No
- \n
- string printed between different fields
-
-
- month_value_format
- string
- No
- %m
- strftime format of the month values, default is
- %m for month numbers.
-
-
- year_empty
- string
- No
- null
- If supplied then the first element of the year's select-box has this
- value as it's label and "" as it's value. This is useful to make the
- select-box read "Please select a year" for example.
-
-
- day_empty
- string
- No
- null
- If supplied then the first element of the day's select-box has this
- value as it's label and "" as it's value.
-
-
- month_empty
- string
- No
- null
- If supplied then the first element of the month's select-box has this
- value as it's label and "" as it's value. .
-
-
-
-
-
- html_select_date is a custom function that creates date dropdowns
- for you. It can display any or all of year, month, and day.
-
-
-html_select_date
-
-{html_select_date}
-
-
-OUTPUT:
-
-<select name="Date_Month">
-<option value="1">January</option>
-<option value="2">February</option>
-<option value="3">March</option>
-<option value="4">April</option>
-<option value="5">May</option>
-<option value="6">June</option>
-<option value="7">July</option>
-<option value="8">August</option>
-<option value="9">September</option>
-<option value="10">October</option>
-<option value="11">November</option>
-<option value="12" selected>December</option>
-</select>
-<select name="Date_Day">
-<option value="1">01</option>
-<option value="2">02</option>
-<option value="3">03</option>
-<option value="4">04</option>
-<option value="5">05</option>
-<option value="6">06</option>
-<option value="7">07</option>
-<option value="8">08</option>
-<option value="9">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13" selected>13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-</select>
-<select name="Date_Year">
-<option value="2001" selected>2001</option>
-</select>
-
-
-
-
-html_select_date
-
-
-{* start and end year can be relative to current year *}
-{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}
-
-OUTPUT: (current year is 2000)
-
-<select name="StartDateMonth">
-<option value="1">January</option>
-<option value="2">February</option>
-<option value="3">March</option>
-<option value="4">April</option>
-<option value="5">May</option>
-<option value="6">June</option>
-<option value="7">July</option>
-<option value="8">August</option>
-<option value="9">September</option>
-<option value="10">October</option>
-<option value="11">November</option>
-<option value="12" selected>December</option>
-</select>
-<select name="StartDateYear">
-<option value="1999">1995</option>
-<option value="1999">1996</option>
-<option value="1999">1997</option>
-<option value="1999">1998</option>
-<option value="1999">1999</option>
-<option value="2000" selected>2000</option>
-<option value="2001">2001</option>
-</select>
-
-
-
- html_select_time
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- prefix
- string
- No
- Time_
- what to prefix the var name with
-
-
- time
- timestamp
- No
- current time
- what date/time to use
-
-
- display_hours
- boolean
- No
- true
- whether or not to display hours
-
-
- display_minutes
- boolean
- No
- true
- whether or not to display minutes
-
-
- display_seconds
- boolean
- No
- true
- whether or not to display seconds
-
-
- display_meridian
- boolean
- No
- true
- whether or not to display meridian (am/pm)
-
-
- use_24_hours
- boolean
- No
- true
- whether or not to use 24 hour clock
-
-
- minute_interval
- integer
- No
- 1
- number interval in minute dropdown
-
-
- second_interval
- integer
- No
- 1
- number interval in second dropdown
-
-
- field_array
- string
- No
- n/a
- outputs values to array of this name
-
-
- all_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- hour_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- minute_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- second_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
- meridian_extra
- string
- No
- null
- adds extra attributes to select/input tags if
- given
-
-
-
-
-
- html_select_time is a custom function that
- creates time dropdowns for you. It can display
- any or all of hour, minute, second and
- meridian.
-
-
- The time-attribute can have different
- formats. It can be a uniq-timestamp or a
- string containing Y-M-D. YYYY-MM-DD may be the
- most common, but months and days with less
- than two digits are also recognized. If one of
- the 3 values (Y,M,D) is the empty string, than
- the according select-box is not pre-selected
- at all. This is especially useful with the
- empty_year-, -month- and -day-attritbutes.
-
-
-
-html_select_time
-
-{html_select_time use_24_hours=true}
-
-
-OUTPUT:
-
-<select name="Time_Hour">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09" selected>09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-</select>
-<select name="Time_Minute">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20" selected>20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23">23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-<option value="32">32</option>
-<option value="33">33</option>
-<option value="34">34</option>
-<option value="35">35</option>
-<option value="36">36</option>
-<option value="37">37</option>
-<option value="38">38</option>
-<option value="39">39</option>
-<option value="40">40</option>
-<option value="41">41</option>
-<option value="42">42</option>
-<option value="43">43</option>
-<option value="44">44</option>
-<option value="45">45</option>
-<option value="46">46</option>
-<option value="47">47</option>
-<option value="48">48</option>
-<option value="49">49</option>
-<option value="50">50</option>
-<option value="51">51</option>
-<option value="52">52</option>
-<option value="53">53</option>
-<option value="54">54</option>
-<option value="55">55</option>
-<option value="56">56</option>
-<option value="57">57</option>
-<option value="58">58</option>
-<option value="59">59</option>
-</select>
-<select name="Time_Second">
-<option value="00">00</option>
-<option value="01">01</option>
-<option value="02">02</option>
-<option value="03">03</option>
-<option value="04">04</option>
-<option value="05">05</option>
-<option value="06">06</option>
-<option value="07">07</option>
-<option value="08">08</option>
-<option value="09">09</option>
-<option value="10">10</option>
-<option value="11">11</option>
-<option value="12">12</option>
-<option value="13">13</option>
-<option value="14">14</option>
-<option value="15">15</option>
-<option value="16">16</option>
-<option value="17">17</option>
-<option value="18">18</option>
-<option value="19">19</option>
-<option value="20">20</option>
-<option value="21">21</option>
-<option value="22">22</option>
-<option value="23" selected>23</option>
-<option value="24">24</option>
-<option value="25">25</option>
-<option value="26">26</option>
-<option value="27">27</option>
-<option value="28">28</option>
-<option value="29">29</option>
-<option value="30">30</option>
-<option value="31">31</option>
-<option value="32">32</option>
-<option value="33">33</option>
-<option value="34">34</option>
-<option value="35">35</option>
-<option value="36">36</option>
-<option value="37">37</option>
-<option value="38">38</option>
-<option value="39">39</option>
-<option value="40">40</option>
-<option value="41">41</option>
-<option value="42">42</option>
-<option value="43">43</option>
-<option value="44">44</option>
-<option value="45">45</option>
-<option value="46">46</option>
-<option value="47">47</option>
-<option value="48">48</option>
-<option value="49">49</option>
-<option value="50">50</option>
-<option value="51">51</option>
-<option value="52">52</option>
-<option value="53">53</option>
-<option value="54">54</option>
-<option value="55">55</option>
-<option value="56">56</option>
-<option value="57">57</option>
-<option value="58">58</option>
-<option value="59">59</option>
-</select>
-<select name="Time_Meridian">
-<option value="am" selected>AM</option>
-<option value="pm">PM</option>
-</select>
-
-
-
- html_table
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- loop
- array
- Yes
- n/a
- array of data to loop through
-
-
- cols
- integer
- No
- 3
- number of columns in the table
-
-
- table_attr
- string
- No
- border="1"
- attributes for table tag
-
-
- tr_attr
- string
- No
- empty
- attributes for tr tag (arrays are cycled)
-
-
- td_attr
- string
- No
- empty
- attributes for td tag (arrays are cycled)
-
-
- trailpad
- string
- No
-
- value to pad the trailing cells on last row with
- (if any)
-
-
-
- hdir
- string
- No
- right
- direction of one row to be rendered. possible values: left/right
-
-
- vdir
- string
- No
- down
- direction of the columns to be rendered. possible values: up/down
-
-
-
-
-
- html_table is a custom function that dumps an
- array of data into an HTML table. The cols
- attribute determines how many columns will be in the table. The
- table_attr, tr_attr and
- td_attr values determine the attributes given
- to the table, tr and td tags. If tr_attr or
- td_attr are arrays, they will be cycled through.
- trailpad is the value put into the trailing
- cells on the last table row if there are any present.
-
-
-html_table
-
-assign('data',array(1,2,3,4,5,6,7,8,9));
-$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
-$smarty->display('index.tpl');
-
-index.tpl:
-
-{html_table loop=$data}
-{html_table loop=$data cols=4 table_attr='border="0"'}
-{html_table loop=$data cols=4 tr_attr=$tr}
-
-OUTPUT:
-
-
-
1
2
3
-
4
5
6
-
7
8
9
-
-
-
1
2
3
4
-
5
6
7
8
-
9
-
-
-
1
2
3
4
-
5
6
7
8
-
9
-
-]]>
-
-
-
- math
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- equation
- string
- Yes
- n/a
- the equation to execute
-
-
- format
- string
- No
- n/a
- the format of the result (sprintf)
-
-
- var
- numeric
- Yes
- n/a
- equation variable value
-
-
- assign
- string
- No
- n/a
- template variable the output will be assigned to
-
-
- [var ...]
- numeric
- Yes
- n/a
- equation variable value
-
-
-
-
-
- math allows the template designer to do math equations in the
- template. Any numeric template variables may be used in the
- equations, and the result is printed in place of the tag. The
- variables used in the equation are passed as parameters, which can
- be template variables or static values. +, -, /, *, abs, ceil, cos,
- exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt,
- srans and tan are all valid operators. Check the PHP documentation
- for further information on these math functions.
-
-
- If you supply the special "assign" attribute, the output of the
- math function will be assigned to this template variable instead of
- being output to the template.
-
-
- Technical Note
-
- math is an expensive function in performance due to its use of
- the php eval() function. Doing the math in PHP is much more
- efficient, so whenever possible do the math calculations in PHP
- and assign the results to the template. Definately avoid
- repetitive math function calls, like within section loops.
-
-
-
-math
-
-{* $height=4, $width=5 *}
-
-{math equation="x + y" x=$height y=$width}
-
-OUTPUT:
-
-9
-
-
-{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}
-
-{math equation="height * width / division"
- height=$row_height
- width=$row_width
- division=#col_div#}
-
-OUTPUT:
-
-100
-
-
-{* you can use parenthesis *}
-
-{math equation="(( x + y ) / z )" x=2 y=10 z=2}
-
-OUTPUT:
-
-6
-
-
-{* you can supply a format parameter in sprintf format *}
-
-{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
-
-OUTPUT:
-
-9.44
-
-
-
- mailto
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- address
- string
- Yes
- n/a
- the e-mail address
-
-
- text
- string
- No
- n/a
- the text to display, default is
- the e-mail address
-
-
- encode
- string
- No
- none
- How to encode the e-mail.
- Can be one of none,
- hex or javascript.
-
-
- cc
- string
- No
- n/a
- e-mail addresses to carbon copy.
- Separate entries by a comma.
-
-
- bcc
- string
- No
- n/a
- e-mail addresses to blind carbon copy.
- Separate entries by a comma.
-
-
- subject
- string
- No
- n/a
- e-mail subject.
-
-
- newsgroups
- string
- No
- n/a
- newsgroups to post to.
- Separate entries by a comma.
-
-
- followupto
- string
- No
- n/a
- addresses to follow up to.
- Separate entries by a comma.
-
-
- extra
- string
- No
- n/a
- any extra information you
- want passed to the link, such
- as style sheet classes
-
-
-
-
-
- mailto automates the creation of mailto links and optionally
- encodes them. Encoding e-mails makes it more difficult for
- web spiders to pick up e-mail addresses off of your site.
-
-
- Technical Note
-
- javascript is probably the most thorough form of
- encoding, although you can use hex encoding too.
-
-
-
-mailto
-
-{mailto address="me@domain.com"}
-{mailto address="me@domain.com" text="send me some mail"}
-{mailto address="me@domain.com" encode="javascript"}
-{mailto address="me@domain.com" encode="hex"}
-{mailto address="me@domain.com" subject="Hello to you!"}
-{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"}
-{mailto address="me@domain.com" extra='class="email"'}
-
-OUTPUT:
-
-<a href="mailto:me@domain.com" >me@domain.com</a>
-<a href="mailto:me@domain.com" >send me some mail</a>
-<script type="text/javascript" language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6
-9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%
-61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e
-%27%29%3b'))</script>
-<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >me@domain.com</a>
-<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a>
-<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a>
-<a href="mailto:me@domain.com" class="email">me@domain.com</a>
-
-
-
- popup_init
-
- popup is an integration of overLib, a library used for popup
- windows. These are used for context sensitive information, such as
- help windows or tooltips. popup_init must be called once at the
- top of any page you plan on using the popup function. overLib
- was written by Erik Bosrup, and the homepage is located at
- http://www.bosrup.com/web/overlib/.
-
-
- As of Smarty version 2.1.2, overLib does NOT come with the release.
- Download overLib, place the overlib.js file under your document
- root and supply the relative path to this file as the "src"
- parameter to popup_init.
-
-
-popup_init
-
-{* popup_init must be called once at the top of the page *}
-{popup_init src="/javascripts/overlib.js"}
-
-
-
- popup
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- text
- string
- Yes
- n/a
- the text/html to display in the popup window
-
-
- trigger
- string
- No
- onMouseOver
- What is used to trigger the popup window. Can be
- one of onMouseOver or onClick
-
-
- sticky
- boolean
- No
- false
- Makes the popup stick around until closed
-
-
- caption
- string
- No
- n/a
- sets the caption to title
-
-
- fgcolor
- string
- No
- n/a
- color of the inside of the popup box
-
-
- bgcolor
- string
- No
- n/a
- color of the border of the popup box
-
-
- textcolor
- string
- No
- n/a
- sets the color of the text inside the box
-
-
- capcolor
- string
- No
- n/a
- sets color of the box's caption
-
-
- closecolor
- string
- No
- n/a
- sets the color of the close text
-
-
- textfont
- string
- No
- n/a
- sets the font to be used by the main text
-
-
- captionfont
- string
- No
- n/a
- sets the font of the caption
-
-
- closefont
- string
- No
- n/a
- sets the font for the "Close" text
-
-
- textsize
- string
- No
- n/a
- sets the size of the main text's font
-
-
- captionsize
- string
- No
- n/a
- sets the size of the caption's font
-
-
- closesize
- string
- No
- n/a
- sets the size of the "Close" text's font
-
-
- width
- integer
- No
- n/a
- sets the width of the box
-
-
- height
- integer
- No
- n/a
- sets the height of the box
-
-
- left
- boolean
- No
- false
- makes the popups go to the left of the mouse
-
-
- right
- boolean
- No
- false
- makes the popups go to the right of the mouse
-
-
- center
- boolean
- No
- false
- makes the popups go to the center of the mouse
-
-
- above
- boolean
- No
- false
- makes the popups go above the mouse. NOTE: only
- possible when height has been set
-
-
- below
- boolean
- No
- false
- makes the popups go below the mouse
-
-
- border
- integer
- No
- n/a
- makes the border of the popups thicker or thinner
-
-
- offsetx
- integer
- No
- n/a
- how far away from the pointer the popup will show
- up, horizontally
-
-
- offsety
- integer
- No
- n/a
- how far away from the pointer the popup will show
- up, vertically
-
-
- fgbackground
- url to image
- No
- n/a
- defines a picture to use instead of color for the
- inside of the popup.
-
-
- bgbackground
- url to image
- No
- n/a
- defines a picture to use instead of color for the
- border of the popup. NOTE: You will want to set bgcolor
- to "" or the color will show as well. NOTE: When having
- a Close link, Netscape will re-render the table cells,
- making things look incorrect
-
-
- closetext
- string
- No
- n/a
- sets the "Close" text to something else
-
-
- noclose
- boolean
- No
- n/a
- does not display the "Close" text on stickies
- with a caption
-
-
- status
- string
- No
- n/a
- sets the text in the browsers status bar
-
-
- autostatus
- boolean
- No
- n/a
- sets the status bar's text to the popup's text.
- NOTE: overrides status setting
-
-
- autostatuscap
- string
- No
- n/a
- sets the status bar's text to the caption's text.
- NOTE: overrides status and autostatus settings
-
-
- inarray
- integer
- No
- n/a
- tells overLib to read text from this index in
- the ol_text array, located in overlib.js. This
- parameter can be used instead of text
-
-
- caparray
- integer
- No
- n/a
- tells overLib to read the caption from this index
- in the ol_caps array
-
-
- capicon
- url
- No
- n/a
- displays the image given before the popup caption
-
-
- snapx
- integer
- No
- n/a
- snaps the popup to an even position in a
- horizontal grid
-
-
- snapy
- integer
- No
- n/a
- snaps the popup to an even position in a
- vertical grid
-
-
- fixx
- integer
- No
- n/a
- locks the popups horizontal position Note:
- overrides all other horizontal placement
-
-
- fixy
- integer
- No
- n/a
- locks the popups vertical position Note:
- overrides all other vertical placement
-
-
- background
- url
- No
- n/a
- sets image to be used instead of table box
- background
-
-
- padx
- integer,integer
- No
- n/a
- pads the background image with horizontal
- whitespace for text placement. Note: this is a two
- parameter command
-
-
- pady
- integer,integer
- No
- n/a
- pads the background image with vertical
- whitespace for text placement. Note: this is a two
- parameter command
-
-
- fullhtml
- boolean
- No
- n/a
- allows you to control the html over a background
- picture completely. The html code is expected in the "text"
- attribute
-
-
- frame
- string
- No
- n/a
- controls popups in a different frame. See the
- overlib page for more info on this function
-
-
- timeout
- string
- No
- n/a
- calls the specified javascript function and takes
- the return value as the text that should be displayed in
- the popup window
-
-
- delay
- integer
- No
- n/a
- makes that popup behave like a tooltip. It will
- popup only after this delay in milliseconds
-
-
- hauto
- boolean
- No
- n/a
- automatically determine if the popup should be to
- the left or right of the mouse.
-
-
- vauto
- boolean
- No
- n/a
- automatically determine if the popup should be
- above or below the mouse.
-
-
-
-
-
- popup is used to create javascript popup windows.
-
-
-popup
-
-{* popup_init must be called once at the top of the page *}
-{popup_init src="/javascripts/overlib.js"}
-
-{* create a link with a popup window when you move your mouse over *}
-<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A>
-
-{* you can use html, links, etc in your popup text *}
-<A href="mypage.html" {popup sticky=true caption="mypage contents"
-text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A>
-
-
-
- textformat
-
-
-
-
-
-
-
-
-
- Attribute Name
- Type
- Required
- Default
- Description
-
-
-
-
- style
- string
- No
- n/a
- preset style
-
-
- indent
- number
- No
- 0
- The number of chars to indent every line
-
-
- indent_first
- number
- No
- 0
- The number of chars to indent the first line
-
-
- indent_char
- string
- No
- (single space)
- The character (or string of chars) to indent with
-
-
- wrap
- number
- No
- 80
- How many characters to wrap each line to
-
-
- wrap_char
- string
- No
- \n
- The character (or string of chars) to break each
- line with
-
-
- wrap_cut
- boolean
- No
- false
- If true, wrap will break the line at the exact
- character instead of at a word boundary
-
-
- assign
- string
- No
- n/a
- the template variable the output will be assigned
- to
-
-
-
-
-
- textformat is a block function used to format text. It basically
- cleans up spaces and special characters, and formats paragraphs by
- wrapping at a boundary and indenting lines.
-
-
- You can set the parameters explicitly, or use a preset style.
- Currently "email" is the only available style.
-
-
-textformat
-
-{textformat wrap=40}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-OUTPUT:
-
-This is foo. This is foo. This is foo.
-This is foo. This is foo. This is foo.
-
-This is bar.
-
-bar foo bar foo foo. bar foo bar foo
-foo. bar foo bar foo foo. bar foo bar
-foo foo. bar foo bar foo foo. bar foo
-bar foo foo. bar foo bar foo foo.
-
-
-{textformat wrap=40 indent=4}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-OUTPUT:
-
- This is foo. This is foo. This is
- foo. This is foo. This is foo. This
- is foo.
-
- This is bar.
-
- bar foo bar foo foo. bar foo bar foo
- foo. bar foo bar foo foo. bar foo
- bar foo foo. bar foo bar foo foo.
- bar foo bar foo foo. bar foo bar
- foo foo.
-
-{textformat wrap=40 indent=4 indent_first=4}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-OUTPUT:
-
- This is foo. This is foo. This
- is foo. This is foo. This is foo.
- This is foo.
-
- This is bar.
-
- bar foo bar foo foo. bar foo bar
- foo foo. bar foo bar foo foo. bar
- foo bar foo foo. bar foo bar foo
- foo. bar foo bar foo foo. bar foo
- bar foo foo.
-
-{textformat style="email"}
-
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-This is foo.
-
-This is bar.
-
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-bar foo bar foo foo.
-
-{/textformat}
-
-OUTPUT:
-
-This is foo. This is foo. This is foo. This is foo. This is foo. This is
-foo.
-
-This is bar.
-
-bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo
-bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo
-foo.
-
-
-
-
+&designers.language-custom-functions.language-function-assign;
+&designers.language-custom-functions.language-function-counter;
+&designers.language-custom-functions.language-function-cycle;
+&designers.language-custom-functions.language-function-debug;
+&designers.language-custom-functions.language-function-eval;
+&designers.language-custom-functions.language-function-fetch;
+&designers.language-custom-functions.language-function-html-checkboxes;
+&designers.language-custom-functions.language-function-html-image;
+&designers.language-custom-functions.language-function-html-options;
+&designers.language-custom-functions.language-function-html-radios;
+&designers.language-custom-functions.language-function-html-select-date;
+&designers.language-custom-functions.language-function-html-select-time;
+&designers.language-custom-functions.language-function-html-table;
+&designers.language-custom-functions.language-function-math;
+&designers.language-custom-functions.language-function-mailto;
+&designers.language-custom-functions.language-function-popup-init;
+&designers.language-custom-functions.language-function-popup;
+&designers.language-custom-functions.language-function-textformat;
+
+ assign
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ var
+ string
+ Yes
+ n/a
+ The name of the variable being assigned
+
+
+ value
+ string
+ Yes
+ n/a
+ The value being assigned
+
+
+
+
+
+ assign is used for assigning template variables during the execution
+ of the template.
+
+
+assign
+
+{assign var="name" value="Bob"}
+
+The value of $name is {$name}.
+
+OUTPUT:
+
+The value of $name is Bob.
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-counter.xml b/docs/en/designers/language-custom-functions/language-function-counter.xml
new file mode 100644
index 00000000..d86e4dfa
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-counter.xml
@@ -0,0 +1,117 @@
+
+
+
+ counter
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ No
+ default
+ The name of the counter
+
+
+ start
+ number
+ No
+ 1
+ The initial number to start counting from
+
+
+ skip
+ number
+ No
+ 1
+ The interval to count by
+
+
+ direction
+ string
+ No
+ up
+ the direction to count (up/down)
+
+
+ print
+ boolean
+ No
+ true
+ Whether or not to print the value
+
+
+ assign
+ string
+ No
+ n/a
+ the template variable the output will be assigned
+ to
+
+
+
+
+
+ counter is used to print out a count. counter will remember the
+ count on each iteration. You can adjust the number, the interval
+ and the direction of the count, as well as determine whether or not
+ to print the value. You can run multiple counters concurrently by
+ supplying a unique name for each one. If you do not supply a name,
+ the name 'default' will be used.
+
+
+ If you supply the special "assign" attribute, the output of the
+ counter function will be assigned to this template variable instead of
+ being output to the template.
+
+
+counter
+
+{* initialize the count *}
+{counter start=0 skip=2}<br>
+{counter}<br>
+{counter}<br>
+{counter}<br>
+
+OUTPUT:
+
+0<br>
+2<br>
+4<br>
+6<br>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-cycle.xml b/docs/en/designers/language-custom-functions/language-function-cycle.xml
new file mode 100644
index 00000000..93b28f3e
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-cycle.xml
@@ -0,0 +1,136 @@
+
+
+
+ cycle
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ No
+ default
+ The name of the cycle
+
+
+ values
+ mixed
+ Yes
+ N/A
+ The values to cycle through, either a comma
+ delimited list (see delimiter attribute), or an array
+ of values.
+
+
+ print
+ boolean
+ No
+ true
+ Whether to print the value or not
+
+
+ advance
+ boolean
+ No
+ true
+ Whether or not to advance to the next value
+
+
+ delimiter
+ string
+ No
+ ,
+ The delimiter to use in the values attribute.
+
+
+ assign
+ string
+ No
+ n/a
+ the template variable the output will be assigned
+ to
+
+
+
+
+
+ Cycle is used to cycle though a set of values. This makes it easy
+ to alternate between two or more colors in a table, or cycle
+ through an array of values.
+
+
+ You can cycle through more than one set of values in your template
+ by supplying a name attribute. Give each set of values a unique
+ name.
+
+
+ You can force the current value not to print with the print
+ attribute set to false. This would be useful for silently skipping
+ a value.
+
+
+ The advance attribute is used to repeat a value. When set to false,
+ the next call to cycle will print the same value.
+
+
+ If you supply the special "assign" attribute, the output of the
+ cycle function will be assigned to this template variable instead of
+ being output to the template.
+
+
+cycle
+
+{section name=rows loop=$data}
+<tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}">
+ <td>{$data[rows]}</td>
+</tr>
+{/section}
+
+OUTPUT:
+
+<tr bgcolor="#eeeeee">
+ <td>1</td>
+</tr>
+<tr bgcolor="#d0d0d0">
+ <td>2</td>
+</tr>
+<tr bgcolor="#eeeeee">
+ <td>3</td>
+</tr>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-debug.xml b/docs/en/designers/language-custom-functions/language-function-debug.xml
new file mode 100644
index 00000000..4106b9c4
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-debug.xml
@@ -0,0 +1,60 @@
+
+
+
+ debug
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ output
+ string
+ No
+ html
+ output type, html or javascript
+
+
+
+
+
+ {debug} dumps the debug console to the page. This works regardless
+ of the debug
+ settings in Smarty. Since this gets executed at runtime, this is
+ only able to show the assigned variables, not the templates that
+ are in use. But, you see all the currently available variables
+ within the scope of this template.
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-eval.xml b/docs/en/designers/language-custom-functions/language-function-eval.xml
new file mode 100644
index 00000000..b3bd9f43
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-eval.xml
@@ -0,0 +1,119 @@
+
+
+
+ eval
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ var
+ mixed
+ Yes
+ n/a
+ variable (or string) to evaluate
+
+
+ assign
+ string
+ No
+ n/a
+ the template variable the output will be assigned
+ to
+
+
+
+
+
+ eval is used to evaluate a variable as a template. This can be used
+ for things like embedding template tags/variables into variables or
+ tags/variables into config file variables.
+
+
+ If you supply the special "assign" attribute, the output of the
+ eval function will be assigned to this template variable instead of
+ being output to the template.
+
+
+ Technical Note
+
+ Evaluated variables are treated the same as templates. They follow
+ the same escapement and security features just as if they were
+ templates.
+
+
+
+ Technical Note
+
+ Evaluated variables are compiled on every invocation, the compiled
+ versions are not saved! However if you have caching enabled, the
+ output will be cached with the rest of the template.
+
+
+
+eval
+
+setup.conf
+----------
+
+emphstart = <b>
+emphend = </b>
+title = Welcome to {$company}'s home page!
+ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
+ErrorState = You must supply a {#emphstart#}state{#emphend#}.
+
+
+index.tpl
+---------
+
+{config_load file="setup.conf"}
+
+{eval var=$foo}
+{eval var=#title#}
+{eval var=#ErrorCity#}
+{eval var=#ErrorState# assign="state_error"}
+{$state_error}
+
+OUTPUT:
+
+This is the contents of foo.
+Welcome to Foobar Pub & Grill's home page!
+You must supply a <b>city</b>.
+You must supply a <b>state</b>.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-fetch.xml b/docs/en/designers/language-custom-functions/language-function-fetch.xml
new file mode 100644
index 00000000..0ff14295
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-fetch.xml
@@ -0,0 +1,107 @@
+
+
+
+ fetch
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ file
+ string
+ Yes
+ n/a
+ the file, http or ftp site to fetch
+
+
+ assign
+ string
+ No
+ n/a
+ the template variable the output will be assigned
+ to
+
+
+
+
+
+ fetch is used to fetch files from the local file system, http, or
+ ftp and display the contents. If the file name begins with
+ "http://", the web site page will be fetched and displayed. If the
+ file name begins with "ftp://", the file will be fetched from the
+ ftp server and displayed. For local files, the full system file
+ path must be given, or a path relative to the executed php script.
+
+
+ If you supply the special "assign" attribute, the output of the
+ fetch function will be assigned to this template variable instead of
+ being output to the template. (new in Smarty 1.5.0)
+
+
+ Technical Note
+
+ This will not support http redirects, be sure to
+ include a trailing slash on your web page fetches where necessary.
+
+
+
+ Technical Note
+
+ If template security is turned on and you are
+ fetching a file from the local file system, this will only allow
+ files from within one of the defined secure directories.
+ ($secure_dir)
+
+
+
+fetch
+
+{* include some javascript in your template *}
+{fetch file="/export/httpd/www.domain.com/docs/navbar.js"}
+
+{* embed some weather text in your template from another web site *}
+{fetch file="http://www.myweather.com/68502/"}
+
+{* fetch a news headline file via ftp *}
+{fetch file="ftp://user:password@ftp.domain.com/path/to/currentheadlines.txt"}
+
+{* assign the fetched contents to a template variable *}
+{fetch file="http://www.myweather.com/68502/" assign="weather"}
+{if $weather ne ""}
+ <b>{$weather}</b>
+{/if}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml b/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml
new file mode 100644
index 00000000..dca06132
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-checkboxes.xml
@@ -0,0 +1,147 @@
+
+
+
+ html_checkboxes
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ No
+ checkbox
+ name of checkbox list
+
+
+ values
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of values for checkbox buttons
+
+
+ output
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of output for checkbox buttons
+
+
+ selected
+ string/array
+ No
+ empty
+ the selected checkbox element(s)
+
+
+ options
+ associative array
+ Yes, unless using values and output
+ n/a
+ an associative array of values and output
+
+
+ separator
+ string
+ No
+ empty
+ string of text to separate each checkbox item
+
+
+ labels
+ boolean
+ No
+ true
+ add <label>-tags to the output
+
+
+
+
+
+ html_checkboxes is a custom function that creates an html checkbox
+ group with provided data. It takes care of which item(s) are
+ selected by default as well. Required attributes are values and
+ output, unless you use options instead. All output is XHTML
+ compatible.
+
+
+ All parameters that are not in the list above are printed as
+ name/value-pairs inside each of the created <input>-tags.
+
+
+html_checkboxes
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_ids', array(1000,1001,1002,1003));
+$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane Johnson','Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_checkboxes name="id" values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
+
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_checkboxes', array(
+ 1000 => 'Joe Schmoe',
+ 1001 => 'Jack Smith',
+ 1002 => 'Jane Johnson',
+ 1003 => 'Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{html_checkboxes name="id" options=$cust_checkboxes selected=$customer_id separator="<br />"}
+
+
+OUTPUT: (both examples)
+
+<label><input type="checkbox" name="id[]" value="1000" />Joe Schmoe</label><br />
+<label><input type="checkbox" name="id[]" value="1001" checked="checked" />Jack Smith</label><br />
+<label><input type="checkbox" name="id[]" value="1002" />Jane Johnson</label><br />
+<label><input type="checkbox" name="id[]" value="1003" />Charlie Brown</label><br />
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-image.xml b/docs/en/designers/language-custom-functions/language-function-html-image.xml
new file mode 100644
index 00000000..e7adb4fe
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-image.xml
@@ -0,0 +1,152 @@
+
+
+
+ html_image
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ file
+ string
+ Yes
+ n/a
+ name/path to image
+
+
+ border
+ string
+ No
+ 0
+ size of border around image
+
+
+ height
+ string
+ No
+ actual image height
+ height to display image
+
+
+ width
+ string
+ No
+ actual image width
+ width to display image
+
+
+ basedir
+ string
+ no
+ web server doc root
+ directory to base relative paths from
+
+
+ alt
+ string
+ no
+ ""
+ alternative description of the image
+
+
+ href
+ string
+ no
+ n/a
+ href value to link the image to
+
+
+
+
+
+ html_image is a custom function that generates an HTML tag for an
+ image. The height and width are automatically calculated from the
+ image file if none are supplied.
+
+
+ basedir is the base directory that relative image paths are based
+ from. If not given, the web server document root (env variable
+ DOCUMENT_ROOT) is used as the base. If security is enabled, the
+ path to the image must be within a secure directory.
+
+
+ href is the href value to link the image to. If link is supplied, an
+ <a href="LINKVALUE"><a> tag is put around the image tag.
+
+
+ Technical Note
+
+ html_image requires a hit to the disk to read the image and
+ calculate the height and width. If you don't use template
+ caching, it is generally better to avoid html_image and leave
+ image tags static for optimal performance.
+
+
+
+ html_image example
+
+display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+
+
+
+ a possible output would be:
+
+
+
+
+
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-options.xml b/docs/en/designers/language-custom-functions/language-function-html-options.xml
new file mode 100644
index 00000000..e95e8471
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-options.xml
@@ -0,0 +1,149 @@
+
+
+
+ html_options
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ values
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of values for dropdown
+
+
+ output
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of output for dropdown
+
+
+ selected
+ string/array
+ No
+ empty
+ the selected option element(s)
+
+
+ options
+ associative array
+ Yes, unless using values and output
+ n/a
+ an associative array of values and output
+
+
+ name
+ string
+ No
+ empty
+ name of select group
+
+
+
+
+
+ html_options is a custom function that creates html option group
+ with provided data. It takes care of which item(s) are selected by
+ default as well. Required attributes are values and output, unless
+ you use options instead.
+
+
+ If a given value is an array, it will treat it as an html OPTGROUP,
+ and display the groups. Recursion is supported with OPTGROUP. All
+ output is XHTML compatible.
+
+
+ If the optional name attribute is given, the
+ <select name="groupname"></select> tags will enclose
+ the option list. Otherwise only the option list is generated.
+
+
+ All parameters that are not in the list above are printed as
+ name/value-pairs inside the <select>-tag. They are ignored if
+ the optional name is not given.
+
+
+html_options
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_ids', array(1000,1001,1002,1003));
+$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
+Johnson','Carlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+index.tpl:
+
+<select name=customer_id>
+ {html_options values=$cust_ids selected=$customer_id output=$cust_names}
+</select>
+
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_options', array(
+ 1001 => 'Joe Schmoe',
+ 1002 => 'Jack Smith',
+ 1003 => 'Jane Johnson',
+ 1004 => 'Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+index.tpl:
+
+<select name=customer_id>
+ {html_options options=$cust_options selected=$customer_id}
+</select>
+
+
+OUTPUT: (both examples)
+
+<select name=customer_id>
+ <option value="1000">Joe Schmoe</option>
+ <option value="1001" selected="selected">Jack Smith</option>
+ <option value="1002">Jane Johnson</option>
+ <option value="1003">Charlie Brown</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-radios.xml b/docs/en/designers/language-custom-functions/language-function-html-radios.xml
new file mode 100644
index 00000000..dcc8f8bd
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-radios.xml
@@ -0,0 +1,142 @@
+
+
+
+ html_radios
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ name
+ string
+ No
+ radio
+ name of radio list
+
+
+ values
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of values for radio buttons
+
+
+ output
+ array
+ Yes, unless using options attribute
+ n/a
+ an array of output for radio buttons
+
+
+ selected
+ string
+ No
+ empty
+ the selected radio element
+
+
+ options
+ associative array
+ Yes, unless using values and output
+ n/a
+ an associative array of values and output
+
+
+ separator
+ string
+ No
+ empty
+ string of text to separate each radio item
+
+
+
+
+
+ html_radios is a custom function that creates html radio button
+ group with provided data. It takes care of which item is selected
+ by default as well. Required attributes are values and output,
+ unless you use options instead. All output is XHTML compatible.
+
+
+ All parameters that are not in the list above are printed as
+ name/value-pairs inside each of the created <input>-tags.
+
+
+
+html_radios
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_ids', array(1000,1001,1002,1003));
+$smarty->assign('cust_names', array('Joe Schmoe','Jack Smith','Jane
+Johnson','Carlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_radios values=$cust_ids selected=$customer_id output=$cust_names separator="<br />"}
+
+
+index.php:
+
+require('Smarty.class.php');
+$smarty = new Smarty;
+$smarty->assign('cust_radios', array(
+ 1001 => 'Joe Schmoe',
+ 1002 => 'Jack Smith',
+ 1003 => 'Jane Johnson',
+ 1004 => 'Charlie Brown'));
+$smarty->assign('customer_id', 1001);
+$smarty->display('index.tpl');
+
+
+index.tpl:
+
+{html_radios name="id" options=$cust_radios selected=$customer_id separator="<br />"}
+
+
+OUTPUT: (both examples)
+
+<input type="radio" name="id[]" value="1000">Joe Schmoe<br />
+<input type="radio" name="id[]" value="1001" checked="checked"><br />
+<input type="radio" name="id[]" value="1002">Jane Johnson<br />
+<input type="radio" name="id[]" value="1003">Charlie Brown<br />
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-select-date.xml b/docs/en/designers/language-custom-functions/language-function-html-select-date.xml
new file mode 100644
index 00000000..f1b39aad
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-select-date.xml
@@ -0,0 +1,341 @@
+
+
+
+ html_select_date
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ prefix
+ string
+ No
+ Date_
+ what to prefix the var name with
+
+
+ time
+ timestamp/YYYY-MM-DD
+ No
+ current time in unix timestamp or YYYY-MM-DD
+ format
+ what date/time to use
+
+
+ start_year
+ string
+ No
+ current year
+ the first year in the dropdown, either
+ year number, or relative to current year (+/- N)
+
+
+ end_year
+ string
+ No
+ same as start_year
+ the last year in the dropdown, either
+ year number, or relative to current year (+/- N)
+
+
+ display_days
+ boolean
+ No
+ true
+ whether to display days or not
+
+
+ display_months
+ boolean
+ No
+ true
+ whether to display months or not
+
+
+ display_years
+ boolean
+ No
+ true
+ whether to display years or not
+
+
+ month_format
+ string
+ No
+ %B
+ what format the month should be in (strftime)
+
+
+ day_format
+ string
+ No
+ %02d
+ what format the day output should be in (sprintf)
+
+
+ day_value_format
+ string
+ No
+ %d
+ what format the day value should be in (sprintf)
+
+
+ year_as_text
+ boolean
+ No
+ false
+ whether or not to display the year as text
+
+
+ reverse_years
+ boolean
+ No
+ false
+ display years in reverse order
+
+
+ field_array
+ string
+ No
+ null
+
+ if a name is given, the select boxes will be drawn
+ such that the results will be returned to PHP in the
+ form of name[Day], name[Year], name[Month].
+
+
+
+ day_size
+ string
+ No
+ null
+ adds size attribute to select tag if given
+
+
+ month_size
+ string
+ No
+ null
+ adds size attribute to select tag if given
+
+
+ year_size
+ string
+ No
+ null
+ adds size attribute to select tag if given
+
+
+ all_extra
+ string
+ No
+ null
+ adds extra attributes to all select/input tags if
+ given
+
+
+ day_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ month_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ year_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ field_order
+ string
+ No
+ MDY
+ the order in which to display the fields
+
+
+ field_separator
+ string
+ No
+ \n
+ string printed between different fields
+
+
+ month_value_format
+ string
+ No
+ %m
+ strftime format of the month values, default is
+ %m for month numbers.
+
+
+ year_empty
+ string
+ No
+ null
+ If supplied then the first element of the year's select-box has this
+ value as it's label and "" as it's value. This is useful to make the
+ select-box read "Please select a year" for example.
+
+
+ day_empty
+ string
+ No
+ null
+ If supplied then the first element of the day's select-box has this
+ value as it's label and "" as it's value.
+
+
+ month_empty
+ string
+ No
+ null
+ If supplied then the first element of the month's select-box has this
+ value as it's label and "" as it's value. .
+
+
+
+
+
+ html_select_date is a custom function that creates date dropdowns
+ for you. It can display any or all of year, month, and day.
+
+
+html_select_date
+
+{html_select_date}
+
+
+OUTPUT:
+
+<select name="Date_Month">
+<option value="1">January</option>
+<option value="2">February</option>
+<option value="3">March</option>
+<option value="4">April</option>
+<option value="5">May</option>
+<option value="6">June</option>
+<option value="7">July</option>
+<option value="8">August</option>
+<option value="9">September</option>
+<option value="10">October</option>
+<option value="11">November</option>
+<option value="12" selected>December</option>
+</select>
+<select name="Date_Day">
+<option value="1">01</option>
+<option value="2">02</option>
+<option value="3">03</option>
+<option value="4">04</option>
+<option value="5">05</option>
+<option value="6">06</option>
+<option value="7">07</option>
+<option value="8">08</option>
+<option value="9">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13" selected>13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+</select>
+<select name="Date_Year">
+<option value="2001" selected>2001</option>
+</select>
+
+
+
+
+html_select_date
+
+
+{* start and end year can be relative to current year *}
+{html_select_date prefix="StartDate" time=$time start_year="-5" end_year="+1" display_days=false}
+
+OUTPUT: (current year is 2000)
+
+<select name="StartDateMonth">
+<option value="1">January</option>
+<option value="2">February</option>
+<option value="3">March</option>
+<option value="4">April</option>
+<option value="5">May</option>
+<option value="6">June</option>
+<option value="7">July</option>
+<option value="8">August</option>
+<option value="9">September</option>
+<option value="10">October</option>
+<option value="11">November</option>
+<option value="12" selected>December</option>
+</select>
+<select name="StartDateYear">
+<option value="1999">1995</option>
+<option value="1999">1996</option>
+<option value="1999">1997</option>
+<option value="1999">1998</option>
+<option value="1999">1999</option>
+<option value="2000" selected>2000</option>
+<option value="2001">2001</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-select-time.xml b/docs/en/designers/language-custom-functions/language-function-html-select-time.xml
new file mode 100644
index 00000000..e2ef012e
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-select-time.xml
@@ -0,0 +1,336 @@
+
+
+
+ html_select_time
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ prefix
+ string
+ No
+ Time_
+ what to prefix the var name with
+
+
+ time
+ timestamp
+ No
+ current time
+ what date/time to use
+
+
+ display_hours
+ boolean
+ No
+ true
+ whether or not to display hours
+
+
+ display_minutes
+ boolean
+ No
+ true
+ whether or not to display minutes
+
+
+ display_seconds
+ boolean
+ No
+ true
+ whether or not to display seconds
+
+
+ display_meridian
+ boolean
+ No
+ true
+ whether or not to display meridian (am/pm)
+
+
+ use_24_hours
+ boolean
+ No
+ true
+ whether or not to use 24 hour clock
+
+
+ minute_interval
+ integer
+ No
+ 1
+ number interval in minute dropdown
+
+
+ second_interval
+ integer
+ No
+ 1
+ number interval in second dropdown
+
+
+ field_array
+ string
+ No
+ n/a
+ outputs values to array of this name
+
+
+ all_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ hour_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ minute_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ second_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+ meridian_extra
+ string
+ No
+ null
+ adds extra attributes to select/input tags if
+ given
+
+
+
+
+
+ html_select_time is a custom function that
+ creates time dropdowns for you. It can display
+ any or all of hour, minute, second and
+ meridian.
+
+
+ The time-attribute can have different
+ formats. It can be a uniq-timestamp or a
+ string containing Y-M-D. YYYY-MM-DD may be the
+ most common, but months and days with less
+ than two digits are also recognized. If one of
+ the 3 values (Y,M,D) is the empty string, than
+ the according select-box is not pre-selected
+ at all. This is especially useful with the
+ empty_year-, -month- and -day-attritbutes.
+
+
+
+html_select_time
+
+{html_select_time use_24_hours=true}
+
+
+OUTPUT:
+
+<select name="Time_Hour">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09" selected>09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+</select>
+<select name="Time_Minute">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20" selected>20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23">23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+<option value="32">32</option>
+<option value="33">33</option>
+<option value="34">34</option>
+<option value="35">35</option>
+<option value="36">36</option>
+<option value="37">37</option>
+<option value="38">38</option>
+<option value="39">39</option>
+<option value="40">40</option>
+<option value="41">41</option>
+<option value="42">42</option>
+<option value="43">43</option>
+<option value="44">44</option>
+<option value="45">45</option>
+<option value="46">46</option>
+<option value="47">47</option>
+<option value="48">48</option>
+<option value="49">49</option>
+<option value="50">50</option>
+<option value="51">51</option>
+<option value="52">52</option>
+<option value="53">53</option>
+<option value="54">54</option>
+<option value="55">55</option>
+<option value="56">56</option>
+<option value="57">57</option>
+<option value="58">58</option>
+<option value="59">59</option>
+</select>
+<select name="Time_Second">
+<option value="00">00</option>
+<option value="01">01</option>
+<option value="02">02</option>
+<option value="03">03</option>
+<option value="04">04</option>
+<option value="05">05</option>
+<option value="06">06</option>
+<option value="07">07</option>
+<option value="08">08</option>
+<option value="09">09</option>
+<option value="10">10</option>
+<option value="11">11</option>
+<option value="12">12</option>
+<option value="13">13</option>
+<option value="14">14</option>
+<option value="15">15</option>
+<option value="16">16</option>
+<option value="17">17</option>
+<option value="18">18</option>
+<option value="19">19</option>
+<option value="20">20</option>
+<option value="21">21</option>
+<option value="22">22</option>
+<option value="23" selected>23</option>
+<option value="24">24</option>
+<option value="25">25</option>
+<option value="26">26</option>
+<option value="27">27</option>
+<option value="28">28</option>
+<option value="29">29</option>
+<option value="30">30</option>
+<option value="31">31</option>
+<option value="32">32</option>
+<option value="33">33</option>
+<option value="34">34</option>
+<option value="35">35</option>
+<option value="36">36</option>
+<option value="37">37</option>
+<option value="38">38</option>
+<option value="39">39</option>
+<option value="40">40</option>
+<option value="41">41</option>
+<option value="42">42</option>
+<option value="43">43</option>
+<option value="44">44</option>
+<option value="45">45</option>
+<option value="46">46</option>
+<option value="47">47</option>
+<option value="48">48</option>
+<option value="49">49</option>
+<option value="50">50</option>
+<option value="51">51</option>
+<option value="52">52</option>
+<option value="53">53</option>
+<option value="54">54</option>
+<option value="55">55</option>
+<option value="56">56</option>
+<option value="57">57</option>
+<option value="58">58</option>
+<option value="59">59</option>
+</select>
+<select name="Time_Meridian">
+<option value="am" selected>AM</option>
+<option value="pm">PM</option>
+</select>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-html-table.xml b/docs/en/designers/language-custom-functions/language-function-html-table.xml
new file mode 100644
index 00000000..bde78d8d
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-html-table.xml
@@ -0,0 +1,151 @@
+
+
+
+ html_table
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ loop
+ array
+ Yes
+ n/a
+ array of data to loop through
+
+
+ cols
+ integer
+ No
+ 3
+ number of columns in the table
+
+
+ table_attr
+ string
+ No
+ border="1"
+ attributes for table tag
+
+
+ tr_attr
+ string
+ No
+ empty
+ attributes for tr tag (arrays are cycled)
+
+
+ td_attr
+ string
+ No
+ empty
+ attributes for td tag (arrays are cycled)
+
+
+ trailpad
+ string
+ No
+
+ value to pad the trailing cells on last row with
+ (if any)
+
+
+
+ hdir
+ string
+ No
+ right
+ direction of one row to be rendered. possible values: left/right
+
+
+ vdir
+ string
+ No
+ down
+ direction of the columns to be rendered. possible values: up/down
+
+
+
+
+
+ html_table is a custom function that dumps an
+ array of data into an HTML table. The cols
+ attribute determines how many columns will be in the table. The
+ table_attr, tr_attr and
+ td_attr values determine the attributes given
+ to the table, tr and td tags. If tr_attr or
+ td_attr are arrays, they will be cycled through.
+ trailpad is the value put into the trailing
+ cells on the last table row if there are any present.
+
+
+html_table
+
+assign('data',array(1,2,3,4,5,6,7,8,9));
+$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
+$smarty->display('index.tpl');
+
+index.tpl:
+
+{html_table loop=$data}
+{html_table loop=$data cols=4 table_attr='border="0"'}
+{html_table loop=$data cols=4 tr_attr=$tr}
+
+OUTPUT:
+
+
+
1
2
3
+
4
5
6
+
7
8
9
+
+
+
1
2
3
4
+
5
6
7
8
+
9
+
+
+
1
2
3
4
+
5
6
7
8
+
9
+
+]]>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-mailto.xml b/docs/en/designers/language-custom-functions/language-function-mailto.xml
new file mode 100644
index 00000000..3b576280
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-mailto.xml
@@ -0,0 +1,153 @@
+
+
+
+ mailto
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ address
+ string
+ Yes
+ n/a
+ the e-mail address
+
+
+ text
+ string
+ No
+ n/a
+ the text to display, default is
+ the e-mail address
+
+
+ encode
+ string
+ No
+ none
+ How to encode the e-mail.
+ Can be one of none,
+ hex or javascript.
+
+
+ cc
+ string
+ No
+ n/a
+ e-mail addresses to carbon copy.
+ Separate entries by a comma.
+
+
+ bcc
+ string
+ No
+ n/a
+ e-mail addresses to blind carbon copy.
+ Separate entries by a comma.
+
+
+ subject
+ string
+ No
+ n/a
+ e-mail subject.
+
+
+ newsgroups
+ string
+ No
+ n/a
+ newsgroups to post to.
+ Separate entries by a comma.
+
+
+ followupto
+ string
+ No
+ n/a
+ addresses to follow up to.
+ Separate entries by a comma.
+
+
+ extra
+ string
+ No
+ n/a
+ any extra information you
+ want passed to the link, such
+ as style sheet classes
+
+
+
+
+
+ mailto automates the creation of mailto links and optionally
+ encodes them. Encoding e-mails makes it more difficult for
+ web spiders to pick up e-mail addresses off of your site.
+
+
+ Technical Note
+
+ javascript is probably the most thorough form of
+ encoding, although you can use hex encoding too.
+
+
+
+mailto
+
+{mailto address="me@domain.com"}
+{mailto address="me@domain.com" text="send me some mail"}
+{mailto address="me@domain.com" encode="javascript"}
+{mailto address="me@domain.com" encode="hex"}
+{mailto address="me@domain.com" subject="Hello to you!"}
+{mailto address="me@domain.com" cc="you@domain.com,they@domain.com"}
+{mailto address="me@domain.com" extra='class="email"'}
+
+OUTPUT:
+
+<a href="mailto:me@domain.com" >me@domain.com</a>
+<a href="mailto:me@domain.com" >send me some mail</a>
+<script type="text/javascript" language="javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%6
+9%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%65%40%64%6f%6d%
+61%69%6e%2e%63%6f%6d%22%20%3e%6d%65%40%64%6f%6d%61%69%6e%2e%63%6f%6d%3c%2f%61%3e
+%27%29%3b'))</script>
+<a href="mailto:%6d%65@%64%6f%6d%61%69%6e.%63%6f%6d" >me@domain.com</a>
+<a href="mailto:me@domain.com?subject=Hello%20to%20you%21" >me@domain.com</a>
+<a href="mailto:me@domain.com?cc=you@domain.com%2Cthey@domain.com" >me@domain.com</a>
+<a href="mailto:me@domain.com" class="email">me@domain.com</a>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-math.xml b/docs/en/designers/language-custom-functions/language-function-math.xml
new file mode 100644
index 00000000..ca9c33bc
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-math.xml
@@ -0,0 +1,146 @@
+
+
+
+ math
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ equation
+ string
+ Yes
+ n/a
+ the equation to execute
+
+
+ format
+ string
+ No
+ n/a
+ the format of the result (sprintf)
+
+
+ var
+ numeric
+ Yes
+ n/a
+ equation variable value
+
+
+ assign
+ string
+ No
+ n/a
+ template variable the output will be assigned to
+
+
+ [var ...]
+ numeric
+ Yes
+ n/a
+ equation variable value
+
+
+
+
+
+ math allows the template designer to do math equations in the
+ template. Any numeric template variables may be used in the
+ equations, and the result is printed in place of the tag. The
+ variables used in the equation are passed as parameters, which can
+ be template variables or static values. +, -, /, *, abs, ceil, cos,
+ exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt,
+ srans and tan are all valid operators. Check the PHP documentation
+ for further information on these math functions.
+
+
+ If you supply the special "assign" attribute, the output of the
+ math function will be assigned to this template variable instead of
+ being output to the template.
+
+
+ Technical Note
+
+ math is an expensive function in performance due to its use of
+ the php eval() function. Doing the math in PHP is much more
+ efficient, so whenever possible do the math calculations in PHP
+ and assign the results to the template. Definately avoid
+ repetitive math function calls, like within section loops.
+
+
+
+math
+
+{* $height=4, $width=5 *}
+
+{math equation="x + y" x=$height y=$width}
+
+OUTPUT:
+
+9
+
+
+{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}
+
+{math equation="height * width / division"
+ height=$row_height
+ width=$row_width
+ division=#col_div#}
+
+OUTPUT:
+
+100
+
+
+{* you can use parenthesis *}
+
+{math equation="(( x + y ) / z )" x=2 y=10 z=2}
+
+OUTPUT:
+
+6
+
+
+{* you can supply a format parameter in sprintf format *}
+
+{math equation="x + y" x=4.4444 y=5.0000 format="%.2f"}
+
+OUTPUT:
+
+9.44
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-popup-init.xml b/docs/en/designers/language-custom-functions/language-function-popup-init.xml
new file mode 100644
index 00000000..e761c43b
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-popup-init.xml
@@ -0,0 +1,46 @@
+
+
+
+ popup_init
+
+ popup is an integration of overLib, a library used for popup
+ windows. These are used for context sensitive information, such as
+ help windows or tooltips. popup_init must be called once at the
+ top of any page you plan on using the popup function. overLib
+ was written by Erik Bosrup, and the homepage is located at
+ http://www.bosrup.com/web/overlib/.
+
+
+ As of Smarty version 2.1.2, overLib does NOT come with the release.
+ Download overLib, place the overlib.js file under your document
+ root and supply the relative path to this file as the "src"
+ parameter to popup_init.
+
+
+popup_init
+
+{* popup_init must be called once at the top of the page *}
+{popup_init src="/javascripts/overlib.js"}
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-popup.xml b/docs/en/designers/language-custom-functions/language-function-popup.xml
new file mode 100644
index 00000000..9b1a6190
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-popup.xml
@@ -0,0 +1,429 @@
+
+
+
+ popup
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ text
+ string
+ Yes
+ n/a
+ the text/html to display in the popup window
+
+
+ trigger
+ string
+ No
+ onMouseOver
+ What is used to trigger the popup window. Can be
+ one of onMouseOver or onClick
+
+
+ sticky
+ boolean
+ No
+ false
+ Makes the popup stick around until closed
+
+
+ caption
+ string
+ No
+ n/a
+ sets the caption to title
+
+
+ fgcolor
+ string
+ No
+ n/a
+ color of the inside of the popup box
+
+
+ bgcolor
+ string
+ No
+ n/a
+ color of the border of the popup box
+
+
+ textcolor
+ string
+ No
+ n/a
+ sets the color of the text inside the box
+
+
+ capcolor
+ string
+ No
+ n/a
+ sets color of the box's caption
+
+
+ closecolor
+ string
+ No
+ n/a
+ sets the color of the close text
+
+
+ textfont
+ string
+ No
+ n/a
+ sets the font to be used by the main text
+
+
+ captionfont
+ string
+ No
+ n/a
+ sets the font of the caption
+
+
+ closefont
+ string
+ No
+ n/a
+ sets the font for the "Close" text
+
+
+ textsize
+ string
+ No
+ n/a
+ sets the size of the main text's font
+
+
+ captionsize
+ string
+ No
+ n/a
+ sets the size of the caption's font
+
+
+ closesize
+ string
+ No
+ n/a
+ sets the size of the "Close" text's font
+
+
+ width
+ integer
+ No
+ n/a
+ sets the width of the box
+
+
+ height
+ integer
+ No
+ n/a
+ sets the height of the box
+
+
+ left
+ boolean
+ No
+ false
+ makes the popups go to the left of the mouse
+
+
+ right
+ boolean
+ No
+ false
+ makes the popups go to the right of the mouse
+
+
+ center
+ boolean
+ No
+ false
+ makes the popups go to the center of the mouse
+
+
+ above
+ boolean
+ No
+ false
+ makes the popups go above the mouse. NOTE: only
+ possible when height has been set
+
+
+ below
+ boolean
+ No
+ false
+ makes the popups go below the mouse
+
+
+ border
+ integer
+ No
+ n/a
+ makes the border of the popups thicker or thinner
+
+
+ offsetx
+ integer
+ No
+ n/a
+ how far away from the pointer the popup will show
+ up, horizontally
+
+
+ offsety
+ integer
+ No
+ n/a
+ how far away from the pointer the popup will show
+ up, vertically
+
+
+ fgbackground
+ url to image
+ No
+ n/a
+ defines a picture to use instead of color for the
+ inside of the popup.
+
+
+ bgbackground
+ url to image
+ No
+ n/a
+ defines a picture to use instead of color for the
+ border of the popup. NOTE: You will want to set bgcolor
+ to "" or the color will show as well. NOTE: When having
+ a Close link, Netscape will re-render the table cells,
+ making things look incorrect
+
+
+ closetext
+ string
+ No
+ n/a
+ sets the "Close" text to something else
+
+
+ noclose
+ boolean
+ No
+ n/a
+ does not display the "Close" text on stickies
+ with a caption
+
+
+ status
+ string
+ No
+ n/a
+ sets the text in the browsers status bar
+
+
+ autostatus
+ boolean
+ No
+ n/a
+ sets the status bar's text to the popup's text.
+ NOTE: overrides status setting
+
+
+ autostatuscap
+ string
+ No
+ n/a
+ sets the status bar's text to the caption's text.
+ NOTE: overrides status and autostatus settings
+
+
+ inarray
+ integer
+ No
+ n/a
+ tells overLib to read text from this index in
+ the ol_text array, located in overlib.js. This
+ parameter can be used instead of text
+
+
+ caparray
+ integer
+ No
+ n/a
+ tells overLib to read the caption from this index
+ in the ol_caps array
+
+
+ capicon
+ url
+ No
+ n/a
+ displays the image given before the popup caption
+
+
+ snapx
+ integer
+ No
+ n/a
+ snaps the popup to an even position in a
+ horizontal grid
+
+
+ snapy
+ integer
+ No
+ n/a
+ snaps the popup to an even position in a
+ vertical grid
+
+
+ fixx
+ integer
+ No
+ n/a
+ locks the popups horizontal position Note:
+ overrides all other horizontal placement
+
+
+ fixy
+ integer
+ No
+ n/a
+ locks the popups vertical position Note:
+ overrides all other vertical placement
+
+
+ background
+ url
+ No
+ n/a
+ sets image to be used instead of table box
+ background
+
+
+ padx
+ integer,integer
+ No
+ n/a
+ pads the background image with horizontal
+ whitespace for text placement. Note: this is a two
+ parameter command
+
+
+ pady
+ integer,integer
+ No
+ n/a
+ pads the background image with vertical
+ whitespace for text placement. Note: this is a two
+ parameter command
+
+
+ fullhtml
+ boolean
+ No
+ n/a
+ allows you to control the html over a background
+ picture completely. The html code is expected in the "text"
+ attribute
+
+
+ frame
+ string
+ No
+ n/a
+ controls popups in a different frame. See the
+ overlib page for more info on this function
+
+
+ timeout
+ string
+ No
+ n/a
+ calls the specified javascript function and takes
+ the return value as the text that should be displayed in
+ the popup window
+
+
+ delay
+ integer
+ No
+ n/a
+ makes that popup behave like a tooltip. It will
+ popup only after this delay in milliseconds
+
+
+ hauto
+ boolean
+ No
+ n/a
+ automatically determine if the popup should be to
+ the left or right of the mouse.
+
+
+ vauto
+ boolean
+ No
+ n/a
+ automatically determine if the popup should be
+ above or below the mouse.
+
+
+
+
+
+ popup is used to create javascript popup windows.
+
+
+popup
+
+{* popup_init must be called once at the top of the page *}
+{popup_init src="/javascripts/overlib.js"}
+
+{* create a link with a popup window when you move your mouse over *}
+<A href="mypage.html" {popup text="This link takes you to my page!"}>mypage</A>
+
+{* you can use html, links, etc in your popup text *}
+<A href="mypage.html" {popup sticky=true caption="mypage contents"
+text="<UL><LI>links<LI>pages<LI>images</UL>" snapx=10 snapy=10}>mypage</A>
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-custom-functions/language-function-textformat.xml b/docs/en/designers/language-custom-functions/language-function-textformat.xml
new file mode 100644
index 00000000..e28709c3
--- /dev/null
+++ b/docs/en/designers/language-custom-functions/language-function-textformat.xml
@@ -0,0 +1,254 @@
+
+
+
+ textformat
+
+
+
+
+
+
+
+
+
+ Attribute Name
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ style
+ string
+ No
+ n/a
+ preset style
+
+
+ indent
+ number
+ No
+ 0
+ The number of chars to indent every line
+
+
+ indent_first
+ number
+ No
+ 0
+ The number of chars to indent the first line
+
+
+ indent_char
+ string
+ No
+ (single space)
+ The character (or string of chars) to indent with
+
+
+ wrap
+ number
+ No
+ 80
+ How many characters to wrap each line to
+
+
+ wrap_char
+ string
+ No
+ \n
+ The character (or string of chars) to break each
+ line with
+
+
+ wrap_cut
+ boolean
+ No
+ false
+ If true, wrap will break the line at the exact
+ character instead of at a word boundary
+
+
+ assign
+ string
+ No
+ n/a
+ the template variable the output will be assigned
+ to
+
+
+
+
+
+ textformat is a block function used to format text. It basically
+ cleans up spaces and special characters, and formats paragraphs by
+ wrapping at a boundary and indenting lines.
+
+
+ You can set the parameters explicitly, or use a preset style.
+ Currently "email" is the only available style.
+
+
+textformat
+
+{textformat wrap=40}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+OUTPUT:
+
+This is foo. This is foo. This is foo.
+This is foo. This is foo. This is foo.
+
+This is bar.
+
+bar foo bar foo foo. bar foo bar foo
+foo. bar foo bar foo foo. bar foo bar
+foo foo. bar foo bar foo foo. bar foo
+bar foo foo. bar foo bar foo foo.
+
+
+{textformat wrap=40 indent=4}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+OUTPUT:
+
+ This is foo. This is foo. This is
+ foo. This is foo. This is foo. This
+ is foo.
+
+ This is bar.
+
+ bar foo bar foo foo. bar foo bar foo
+ foo. bar foo bar foo foo. bar foo
+ bar foo foo. bar foo bar foo foo.
+ bar foo bar foo foo. bar foo bar
+ foo foo.
+
+{textformat wrap=40 indent=4 indent_first=4}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+OUTPUT:
+
+ This is foo. This is foo. This
+ is foo. This is foo. This is foo.
+ This is foo.
+
+ This is bar.
+
+ bar foo bar foo foo. bar foo bar
+ foo foo. bar foo bar foo foo. bar
+ foo bar foo foo. bar foo bar foo
+ foo. bar foo bar foo foo. bar foo
+ bar foo foo.
+
+{textformat style="email"}
+
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+This is foo.
+
+This is bar.
+
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+bar foo bar foo foo.
+
+{/textformat}
+
+OUTPUT:
+
+This is foo. This is foo. This is foo. This is foo. This is foo. This is
+foo.
+
+This is bar.
+
+bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo
+bar foo foo. bar foo bar foo foo. bar foo bar foo foo. bar foo bar foo
+foo.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers.xml b/docs/en/designers/language-modifiers.xml
index 44dc312b..93463fae 100644
--- a/docs/en/designers/language-modifiers.xml
+++ b/docs/en/designers/language-modifiers.xml
@@ -56,1435 +56,28 @@ Topic: {$topic|truncate:40:"..."}
$security_settings['MODIFIER_FUNCS']-array.
-
- capitalize
-
- This is used to capitalize the first letter of all words in a variable.
-
-
- capitalize
-
-assign('articleTitle', 'Police begin campaign to rundown jaywalkers.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- count_characters
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- boolean
- No
- false
- This determines whether or not to include
- whitespace characters in the count.
-
-
-
-
-
- This is used to count the number of characters in a variable.
-
-
- count_characters
-
-assign('articleTitle', 'Cold Wave Linked to Temperatures.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- cat
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- cat
- Description
-
-
-
-
- 1
- string
- No
- empty
- This value to catenate to the given variable.
-
-
-
-
-
- This value is concatenated to the given variable.
-
-
- cat
-
-assign('articleTitle', "Psychics predict world didn't end");
-$smarty->display('index.tpl');
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- count_paragraphs
-
- This is used to count the number of paragraphs in a variable.
-
-
- count_paragraphs
-
-assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins
-Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation.");
-$smarty->display('index.tpl');
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- count_sentences
-
- This is used to count the number of sentences in a variable.
-
-
- count_sentences
-
-assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- count_words
-
- This is used to count the number of words in a variable.
-
-
- count_words
-
-assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- date_format
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- No
- %b %e, %Y
- This is the format for the outputted date.
-
-
- 2
- string
- No
- n/a
- This is the default date if the input is empty.
-
-
-
-
-
- This formats a date and time into the given strftime() format.
- Dates can be passed to Smarty as unix timestamps, mysql timestamps
- or any string made up of month day year (parsable by strtotime).
- Designers can then use date_format to have complete control of the
- formatting of the date. If the date passed to date_format is empty
- and a second parameter is passed, that will be used as the date to
- format.
-
-
- date_format
-
-assign('yesterday', strtotime('-1 day'));
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
- date_format conversion specifiers:
-
-
- %a - abbreviated weekday name according to the current locale
-
-
- %A - full weekday name according to the current locale
-
-
- %b - abbreviated month name according to the current locale
-
-
- %B - full month name according to the current locale
-
-
- %c - preferred date and time representation for the current locale
-
-
- %C - century number (the year divided by 100 and truncated to an integer, range 00 to 99)
-
-
- %d - day of the month as a decimal number (range 00 to 31)
-
-
- %D - same as %m/%d/%y
-
-
- %e - day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31)
-
-
- %g - Week-based year within century [00,99]
-
-
- %G - Week-based year, including the century [0000,9999]
-
-
- %h - same as %b
-
-
- %H - hour as a decimal number using a 24-hour clock (range 00 to 23)
-
-
- %I - hour as a decimal number using a 12-hour clock (range 01 to 12)
-
-
- %j - day of the year as a decimal number (range 001 to 366)
-
-
- %k - Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23)
-
-
- %l - hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12)
-
-
- %m - month as a decimal number (range 01 to 12)
-
-
- %M - minute as a decimal number
-
-
- %n - newline character
-
-
- %p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale
-
-
- %r - time in a.m. and p.m. notation
-
-
- %R - time in 24 hour notation
-
-
- %S - second as a decimal number
-
-
- %t - tab character
-
-
- %T - current time, equal to %H:%M:%S
-
-
- %u - weekday as a decimal number [1,7], with 1 representing Monday
-
-
- %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
-
-
- %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.
-
-
- %w - day of the week as a decimal, Sunday being 0
-
-
- %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
-
-
- %x - preferred date representation for the current locale without the time
-
-
- %X - preferred time representation for the current locale without the date
-
-
- %y - year as a decimal number without a century (range 00 to 99)
-
-
- %Y - year as a decimal number including the century
-
-
- %Z - time zone or name or abbreviation
-
-
- %% - a literal `%' character
-
-
-
- Programmers note
-
- date_format is essentially a wrapper to PHP's strftime()
- function. You may have more or less conversion specifiers available depending
- on your system's strftime() function where PHP was compiled. Check your
- system's manpage for a full list of valid specifiers.
-
-
-
-
-
-
- default
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- No
- empty
- This is the default value to output if the
- variable is empty.
-
-
-
-
-
- This is used to set a default value for a variable. If the variable
- is empty or unset, the given default value is printed instead.
- Default takes one argument.
-
-
- default
-
-assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- escape
-
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Possible Values
- Default
- Description
-
-
-
-
- 1
- string
- No
- html,htmlall,url,quotes,hex,hexentity,javascript
- html
- This is the escape format to use.
-
-
-
-
-
- This is used to html escape, url escape, escape single quotes on a
- variable not already escaped, hex escape, hexentity or javascript escape.
- By default, the variable is html
- escaped.
-
-
- escape
-
-assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
- *}
-{$articleTitle|escape:"htmlall"} {* escapes ALL html entities *}
-{$articleTitle|escape:"url"}
-{$articleTitle|escape:"quotes"}
-{$EmailAddress|escape:"hexentity"}
-]]>
-
-
- This will output:
-
-
-bob@me.net
-]]>
-
-
-
-
- indent
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- integer
- No
- 4
- This determines how many characters to indent
- to.
-
-
- 2
- string
- No
- (one space)
- This is the character used to indent with.
-
-
-
-
-
- This indents a string at each line, default is 4. As
- an optional parameter, you can specify the number of characters to
- indent. As an optional second parameter, you can specify the
- character to use to indent with. (Use "\t" for tabs.)
-
-
- indent
-
-assign('articleTitle', 'NJ judge to rule on nude beach.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- this will output:
-
-
-
-
-
-
-
- lower
-
- This is used to lowercase a variable.
-
-
- lower
-
-assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- nl2br
-
- All linebreaks will be converted to <br /> tags in the given
- variable. This is equivalent to the PHP nl2br() function.
-
-
- nl2br
-
-assign('articleTitle', "Sun or rain expected\ntoday, dark tonight");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This should output:
-
-
-today, dark tonight
-]]>
-
-
-
-
- regex_replace
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- Yes
- n/a
- This is the regular expression to be replaced.
-
-
- 2
- string
- Yes
- n/a
- This is the string of text to replace with.
-
-
-
-
-
- A regular expression search and replace on a variable. Use the
- syntax for preg_replace() from the PHP manual.
-
-
- regex_replace
-
-assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This should output:
-
-
-
-
-
-
-
- replace
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- Yes
- n/a
- This is the string of text to be replaced.
-
-
- 2
- string
- Yes
- n/a
- This is the string of text to replace with.
-
-
-
-
-
- A simple search and replace on a variable.
-
-
- replace
-
-assign('articleTitle', "Child's Stool Great for Use in Garden.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This should output:
-
-
-
-
-
-
-
- spacify
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- No
- one space
- This what gets inserted between each character of
- the variable.
-
-
-
-
-
- spacify is a way to insert a space between every character of a variable.
- You can optionally pass a different character (or string) to insert.
-
-
- spacify
-
-assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.');
-$smarty->display('index.tpl');
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This should output:
-
-
-
-
-
-
-
- string_format
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- string
- Yes
- n/a
- This is what format to use. (sprintf)
-
-
-
-
-
- This is a way to format strings, such as decimal numbers and such.
- Use the syntax for sprintf for the formatting.
-
-
- string_format
-
-assign('number', 23.5787446);
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- Where index.tpl is:
-
-
-
-
-
- This should output:
-
-
-
-
-
-
-
- strip
-
- This replaces all repeated spaces, newlines and tabs with a single
- space, or with a supplied string.
-
-
- Note
-
- If you want to strip blocks of template text, use the strip function.
-
-
-
- strip
-
-assign('articleTitle', "Grandmother of\neight makes\t hole in one.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- strip_tags
-
- This strips out markup tags, basically anything between < and >.
-
-
- strip_tags
-
-assign('articleTitle', "Blind Woman Gets New
-Kidney from Dad she Hasn't Seen in years.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-New Kidney from Dad she Hasn't Seen in years.
-Blind Woman Gets New Kidney from Dad she Hasn't Seen in years.
-]]>
-
-
-
-
- truncate
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- integer
- No
- 80
- This determines how many characters to truncate
- to.
-
-
- 2
- string
- No
- ...
- This is the text to append if truncation occurs.
-
-
- 3
- boolean
- No
- false
- This determines whether or not to truncate at a
- word boundary (false), or at the exact character (true).
-
-
-
-
-
- This truncates a variable to a character length, default is 80. As
- an optional second parameter, you can specify a string of text
- to display at the end if the variable was truncated. The
- characters in the string are included with the original truncation length.
- By default, truncate will attempt to cut off at a word boundary. If
- you want to cut off at the exact character length, pass the optional
- third parameter of true.
-
-
- truncate
-
-assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- upper
-
- This is used to uppercase a variable.
-
-
- upper
-
-assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-
-
- This will output:
-
-
-
-
-
-
-
- wordwrap
-
-
-
-
-
-
-
-
-
- Parameter Position
- Type
- Required
- Default
- Description
-
-
-
-
- 1
- integer
- No
- 80
- This determines how many columns to wrap
- to.
-
-
- 2
- string
- No
- \n
- This is the string used to wrap words with.
-
-
- 3
- boolean
- No
- false
- This determines whether or not to wrap at a
- word boundary (false), or at the exact character (true).
-
-
-
-
-
- This wraps a string to a column width, default is 80. As
- an optional second parameter, you can specify a string of text
- to wrap the text to the next line (default is carriage return \n).
- By default, wordwrap will attempt to wrap at a word boundary. If
- you want to cut off at the exact character length, pass the optional
- third parameter of true.
-
-
- wordwrap
-
-assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years.");
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-\n"}
-
-{$articleTitle|wordwrap:30:"\n":true}
-]]>
-
-
- This will output:
-
-
-
-from dad she hasn't seen in
-years.
-
-Blind woman gets new kidney
-from dad she hasn't seen in
-years.
-]]>
-
-
-
+&designers.language-modifiers.language-modifier-default;
+&designers.language-modifiers.language-modifier-escape;
+&designers.language-modifiers.language-modifier-indent;
+&designers.language-modifiers.language-modifier-lower;
+&designers.language-modifiers.language-modifier-nl2br;
+&designers.language-modifiers.language-modifier-regex-replace;
+&designers.language-modifiers.language-modifier-replace;
+&designers.language-modifiers.language-modifier-spacify;
+&designers.language-modifiers.language-modifier-string-format;
+&designers.language-modifiers.language-modifier-strip;
+&designers.language-modifiers.language-modifier-strip-tags;
+&designers.language-modifiers.language-modifier-truncate;
+&designers.language-modifiers.language-modifier-upper;
+&designers.language-modifiers.language-modifier-wordwrap;
diff --git a/docs/en/designers/language-modifiers/language-modifier-capitalize.xml b/docs/en/designers/language-modifiers/language-modifier-capitalize.xml
new file mode 100644
index 00000000..2ac751b2
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-capitalize.xml
@@ -0,0 +1,60 @@
+
+
+
+ capitalize
+
+ This is used to capitalize the first letter of all words in a variable.
+
+
+ capitalize
+
+assign('articleTitle', 'Police begin campaign to rundown jaywalkers.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-cat.xml b/docs/en/designers/language-modifiers/language-modifier-cat.xml
new file mode 100644
index 00000000..bc61dd0f
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-cat.xml
@@ -0,0 +1,83 @@
+
+
+
+ cat
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ cat
+ Description
+
+
+
+
+ 1
+ string
+ No
+ empty
+ This value to catenate to the given variable.
+
+
+
+
+
+ This value is concatenated to the given variable.
+
+
+ cat
+
+assign('articleTitle', "Psychics predict world didn't end");
+$smarty->display('index.tpl');
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-count-characters.xml b/docs/en/designers/language-modifiers/language-modifier-count-characters.xml
new file mode 100644
index 00000000..3505a751
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-count-characters.xml
@@ -0,0 +1,90 @@
+
+
+
+ count_characters
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ boolean
+ No
+ false
+ This determines whether or not to include
+ whitespace characters in the count.
+
+
+
+
+
+ This is used to count the number of characters in a variable.
+
+
+ count_characters
+
+assign('articleTitle', 'Cold Wave Linked to Temperatures.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml b/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml
new file mode 100644
index 00000000..d4ed93a0
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-count-paragraphs.xml
@@ -0,0 +1,61 @@
+
+
+
+ count_paragraphs
+
+ This is used to count the number of paragraphs in a variable.
+
+
+ count_paragraphs
+
+assign('articleTitle', "War Dims Hope for Peace. Child's Death Ruins
+Couple's Holiday.\n\nMan is Fatally Slain. Death Causes Loneliness, Feeling of Isolation.");
+$smarty->display('index.tpl');
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml b/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml
new file mode 100644
index 00000000..7de46f5c
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-count-sentences.xml
@@ -0,0 +1,60 @@
+
+
+
+ count_sentences
+
+ This is used to count the number of sentences in a variable.
+
+
+ count_sentences
+
+assign('articleTitle', 'Two Soviet Ships Collide - One Dies. Enraged Cow Injures Farmer with Axe.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-count-words.xml b/docs/en/designers/language-modifiers/language-modifier-count-words.xml
new file mode 100644
index 00000000..deea7a9e
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-count-words.xml
@@ -0,0 +1,60 @@
+
+
+
+ count_words
+
+ This is used to count the number of words in a variable.
+
+
+ count_words
+
+assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-date-format.xml b/docs/en/designers/language-modifiers/language-modifier-date-format.xml
new file mode 100644
index 00000000..cb2a00cb
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-date-format.xml
@@ -0,0 +1,233 @@
+
+
+
+ date_format
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ No
+ %b %e, %Y
+ This is the format for the outputted date.
+
+
+ 2
+ string
+ No
+ n/a
+ This is the default date if the input is empty.
+
+
+
+
+
+ This formats a date and time into the given strftime() format.
+ Dates can be passed to Smarty as unix timestamps, mysql timestamps
+ or any string made up of month day year (parsable by strtotime).
+ Designers can then use date_format to have complete control of the
+ formatting of the date. If the date passed to date_format is empty
+ and a second parameter is passed, that will be used as the date to
+ format.
+
+
+ date_format
+
+assign('yesterday', strtotime('-1 day'));
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+ date_format conversion specifiers:
+
+
+ %a - abbreviated weekday name according to the current locale
+
+
+ %A - full weekday name according to the current locale
+
+
+ %b - abbreviated month name according to the current locale
+
+
+ %B - full month name according to the current locale
+
+
+ %c - preferred date and time representation for the current locale
+
+
+ %C - century number (the year divided by 100 and truncated to an integer, range 00 to 99)
+
+
+ %d - day of the month as a decimal number (range 00 to 31)
+
+
+ %D - same as %m/%d/%y
+
+
+ %e - day of the month as a decimal number, a single digit is preceded by a space (range 1 to 31)
+
+
+ %g - Week-based year within century [00,99]
+
+
+ %G - Week-based year, including the century [0000,9999]
+
+
+ %h - same as %b
+
+
+ %H - hour as a decimal number using a 24-hour clock (range 00 to 23)
+
+
+ %I - hour as a decimal number using a 12-hour clock (range 01 to 12)
+
+
+ %j - day of the year as a decimal number (range 001 to 366)
+
+
+ %k - Hour (24-hour clock) single digits are preceded by a blank. (range 0 to 23)
+
+
+ %l - hour as a decimal number using a 12-hour clock, single digits preceeded by a space (range 1 to 12)
+
+
+ %m - month as a decimal number (range 01 to 12)
+
+
+ %M - minute as a decimal number
+
+
+ %n - newline character
+
+
+ %p - either `am' or `pm' according to the given time value, or the corresponding strings for the current locale
+
+
+ %r - time in a.m. and p.m. notation
+
+
+ %R - time in 24 hour notation
+
+
+ %S - second as a decimal number
+
+
+ %t - tab character
+
+
+ %T - current time, equal to %H:%M:%S
+
+
+ %u - weekday as a decimal number [1,7], with 1 representing Monday
+
+
+ %U - week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
+
+
+ %V - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.
+
+
+ %w - day of the week as a decimal, Sunday being 0
+
+
+ %W - week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
+
+
+ %x - preferred date representation for the current locale without the time
+
+
+ %X - preferred time representation for the current locale without the date
+
+
+ %y - year as a decimal number without a century (range 00 to 99)
+
+
+ %Y - year as a decimal number including the century
+
+
+ %Z - time zone or name or abbreviation
+
+
+ %% - a literal `%' character
+
+
+
+ Programmers note
+
+ date_format is essentially a wrapper to PHP's strftime()
+ function. You may have more or less conversion specifiers available depending
+ on your system's strftime() function where PHP was compiled. Check your
+ system's manpage for a full list of valid specifiers.
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-default.xml b/docs/en/designers/language-modifiers/language-modifier-default.xml
new file mode 100644
index 00000000..9eebb629
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-default.xml
@@ -0,0 +1,90 @@
+
+
+
+ default
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ No
+ empty
+ This is the default value to output if the
+ variable is empty.
+
+
+
+
+
+ This is used to set a default value for a variable. If the variable
+ is empty or unset, the given default value is printed instead.
+ Default takes one argument.
+
+
+ default
+
+assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-escape.xml b/docs/en/designers/language-modifiers/language-modifier-escape.xml
new file mode 100644
index 00000000..e3c2ff09
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-escape.xml
@@ -0,0 +1,103 @@
+
+
+
+ escape
+
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Possible Values
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ No
+ html,htmlall,url,quotes,hex,hexentity,javascript
+ html
+ This is the escape format to use.
+
+
+
+
+
+ This is used to html escape, url escape, escape single quotes on a
+ variable not already escaped, hex escape, hexentity or javascript escape.
+ By default, the variable is html
+ escaped.
+
+
+ escape
+
+assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+ *}
+{$articleTitle|escape:"htmlall"} {* escapes ALL html entities *}
+{$articleTitle|escape:"url"}
+{$articleTitle|escape:"quotes"}
+{$EmailAddress|escape:"hexentity"}
+]]>
+
+
+ This will output:
+
+
+bob@me.net
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-indent.xml b/docs/en/designers/language-modifiers/language-modifier-indent.xml
new file mode 100644
index 00000000..e2125b92
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-indent.xml
@@ -0,0 +1,116 @@
+
+
+
+ indent
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ integer
+ No
+ 4
+ This determines how many characters to indent
+ to.
+
+
+ 2
+ string
+ No
+ (one space)
+ This is the character used to indent with.
+
+
+
+
+
+ This indents a string at each line, default is 4. As
+ an optional parameter, you can specify the number of characters to
+ indent. As an optional second parameter, you can specify the
+ character to use to indent with. (Use "\t" for tabs.)
+
+
+ indent
+
+assign('articleTitle', 'NJ judge to rule on nude beach.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ this will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-lower.xml b/docs/en/designers/language-modifiers/language-modifier-lower.xml
new file mode 100644
index 00000000..2d0b9183
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-lower.xml
@@ -0,0 +1,60 @@
+
+
+
+ lower
+
+ This is used to lowercase a variable.
+
+
+ lower
+
+assign('articleTitle', 'Two Convicts Evade Noose, Jury Hung.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-nl2br.xml b/docs/en/designers/language-modifiers/language-modifier-nl2br.xml
new file mode 100644
index 00000000..23b2a771
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-nl2br.xml
@@ -0,0 +1,59 @@
+
+
+
+ nl2br
+
+ All linebreaks will be converted to <br /> tags in the given
+ variable. This is equivalent to the PHP nl2br() function.
+
+
+ nl2br
+
+assign('articleTitle', "Sun or rain expected\ntoday, dark tonight");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This should output:
+
+
+today, dark tonight
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml b/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml
new file mode 100644
index 00000000..621d1600
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-regex-replace.xml
@@ -0,0 +1,98 @@
+
+
+
+ regex_replace
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ Yes
+ n/a
+ This is the regular expression to be replaced.
+
+
+ 2
+ string
+ Yes
+ n/a
+ This is the string of text to replace with.
+
+
+
+
+
+ A regular expression search and replace on a variable. Use the
+ syntax for preg_replace() from the PHP manual.
+
+
+ regex_replace
+
+assign('articleTitle', "Infertility unlikely to\nbe passed on, experts say.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This should output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-replace.xml b/docs/en/designers/language-modifiers/language-modifier-replace.xml
new file mode 100644
index 00000000..4f7e84f8
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-replace.xml
@@ -0,0 +1,96 @@
+
+
+
+ replace
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ Yes
+ n/a
+ This is the string of text to be replaced.
+
+
+ 2
+ string
+ Yes
+ n/a
+ This is the string of text to replace with.
+
+
+
+
+
+ A simple search and replace on a variable.
+
+
+ replace
+
+assign('articleTitle', "Child's Stool Great for Use in Garden.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This should output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-spacify.xml b/docs/en/designers/language-modifiers/language-modifier-spacify.xml
new file mode 100644
index 00000000..66e5fe10
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-spacify.xml
@@ -0,0 +1,89 @@
+
+
+
+ spacify
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ No
+ one space
+ This what gets inserted between each character of
+ the variable.
+
+
+
+
+
+ spacify is a way to insert a space between every character of a variable.
+ You can optionally pass a different character (or string) to insert.
+
+
+ spacify
+
+assign('articleTitle', 'Something Went Wrong in Jet Crash, Experts Say.');
+$smarty->display('index.tpl');
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This should output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-string-format.xml b/docs/en/designers/language-modifiers/language-modifier-string-format.xml
new file mode 100644
index 00000000..e5724be0
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-string-format.xml
@@ -0,0 +1,90 @@
+
+
+
+ string_format
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ string
+ Yes
+ n/a
+ This is what format to use. (sprintf)
+
+
+
+
+
+ This is a way to format strings, such as decimal numbers and such.
+ Use the syntax for sprintf for the formatting.
+
+
+ string_format
+
+assign('number', 23.5787446);
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ Where index.tpl is:
+
+
+
+
+
+ This should output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml b/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml
new file mode 100644
index 00000000..5c6a0a66
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-strip-tags.xml
@@ -0,0 +1,61 @@
+
+
+
+ strip_tags
+
+ This strips out markup tags, basically anything between < and >.
+
+
+ strip_tags
+
+assign('articleTitle', "Blind Woman Gets New
+Kidney from Dad she Hasn't Seen in years.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+New Kidney from Dad she Hasn't Seen in years.
+Blind Woman Gets New Kidney from Dad she Hasn't Seen in years.
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-strip.xml b/docs/en/designers/language-modifiers/language-modifier-strip.xml
new file mode 100644
index 00000000..6532cf7e
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-strip.xml
@@ -0,0 +1,71 @@
+
+
+
+ strip
+
+ This replaces all repeated spaces, newlines and tabs with a single
+ space, or with a supplied string.
+
+
+ Note
+
+ If you want to strip blocks of template text, use the strip function.
+
+
+
+ strip
+
+assign('articleTitle', "Grandmother of\neight makes\t hole in one.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-truncate.xml b/docs/en/designers/language-modifiers/language-modifier-truncate.xml
new file mode 100644
index 00000000..70c47e0e
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-truncate.xml
@@ -0,0 +1,119 @@
+
+
+
+ truncate
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ integer
+ No
+ 80
+ This determines how many characters to truncate
+ to.
+
+
+ 2
+ string
+ No
+ ...
+ This is the text to append if truncation occurs.
+
+
+ 3
+ boolean
+ No
+ false
+ This determines whether or not to truncate at a
+ word boundary (false), or at the exact character (true).
+
+
+
+
+
+ This truncates a variable to a character length, default is 80. As
+ an optional second parameter, you can specify a string of text
+ to display at the end if the variable was truncated. The
+ characters in the string are included with the original truncation length.
+ By default, truncate will attempt to cut off at a word boundary. If
+ you want to cut off at the exact character length, pass the optional
+ third parameter of true.
+
+
+ truncate
+
+assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-upper.xml b/docs/en/designers/language-modifiers/language-modifier-upper.xml
new file mode 100644
index 00000000..adfc9fbe
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-upper.xml
@@ -0,0 +1,60 @@
+
+
+
+ upper
+
+ This is used to uppercase a variable.
+
+
+ upper
+
+assign('articleTitle', "If Strike isn't Settled Quickly it may Last a While.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+
+
+
+ This will output:
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml b/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml
new file mode 100644
index 00000000..ad09ee93
--- /dev/null
+++ b/docs/en/designers/language-modifiers/language-modifier-wordwrap.xml
@@ -0,0 +1,131 @@
+
+
+
+ wordwrap
+
+
+
+
+
+
+
+
+
+ Parameter Position
+ Type
+ Required
+ Default
+ Description
+
+
+
+
+ 1
+ integer
+ No
+ 80
+ This determines how many columns to wrap
+ to.
+
+
+ 2
+ string
+ No
+ \n
+ This is the string used to wrap words with.
+
+
+ 3
+ boolean
+ No
+ false
+ This determines whether or not to wrap at a
+ word boundary (false), or at the exact character (true).
+
+
+
+
+
+ This wraps a string to a column width, default is 80. As
+ an optional second parameter, you can specify a string of text
+ to wrap the text to the next line (default is carriage return \n).
+ By default, wordwrap will attempt to wrap at a word boundary. If
+ you want to cut off at the exact character length, pass the optional
+ third parameter of true.
+
+
+ wordwrap
+
+assign('articleTitle', "Blind woman gets new kidney from dad she hasn't seen in years.");
+$smarty->display('index.tpl');
+
+?>
+]]>
+
+
+ where index.tpl is:
+
+
+\n"}
+
+{$articleTitle|wordwrap:30:"\n":true}
+]]>
+
+
+ This will output:
+
+
+
+from dad she hasn't seen in
+years.
+
+Blind woman gets new kidney
+from dad she hasn't seen in
+years.
+]]>
+
+
+
+
\ No newline at end of file
diff --git a/docs/en/designers/language-variables.xml b/docs/en/designers/language-variables.xml
index 76724bb6..480b2e9c 100644
--- a/docs/en/designers/language-variables.xml
+++ b/docs/en/designers/language-variables.xml
@@ -23,375 +23,11 @@
-
- Variables assigned from PHP
-
- Variables that are assigned from PHP are referenced by preceding them with
- a dollar sign $. Variables assigned from within the
- template with the assign
- function are also displayed this way.
-
-
+&designers.language-variables.language-assigned-variables;
- assigned variables
-
-
-Your last login was on {$lastLoginDate}.
-]]>
-
-
- This will output:
-
-
-
-Your last login was on January 11th, 2001.
-]]>
-
-
+&designers.language-variables.language-config-variables;
-
- Associative arrays
-
- You can also reference associative array variables that are
- assigned from PHP by specifying the key after the '.' (period)
- symbol.
-
-
- accessing associative array variables
-
-assign('Contacts',
- array('fax' => '555-222-9876',
- 'email' => 'zaphod@slartibartfast.com',
- 'phone' => array('home' => '555-444-3333',
- 'cell' => '555-111-1234')));
-$smarty->display('index.tpl');
-?>
-]]>
-
-
- where the content of index.tpl is:
-
-
-
-{$Contacts.email}
-{* you can print arrays of arrays as well *}
-{$Contacts.phone.home}
-{$Contacts.phone.cell}
-]]>
-
-
- this will output:
-
-
-
-zaphod@slartibartfast.com
-555-444-3333
-555-111-1234
-]]>
-
-
-
-
- Array indexes
-
- You can reference arrays by their index, much like native PHP
- syntax.
-
-
- accessing arrays by index
-
-assign('Contacts',
- array('555-222-9876',
- 'zaphod@slartibartfast.com',
- array('555-444-3333',
- '555-111-1234')));
-$smarty->display('index.tpl');
-
-?>
-]]>
-
-
- where index.tpl is:
-
-
-
-{$Contacts[1]}
-{* you can print arrays of arrays as well *}
-{$Contacts[2][0]}
-{$Contacts[2][1]}
-]]>
-
-
- This will output:
-
-
-
-zaphod@slartibartfast.com
-555-444-3333
-555-111-1234
-]]>
-
-
-
-
- Objects
-
- Properties of objects assigned from PHP can be referenced
- by specifying the property name after the '->' symbol.
-
-
- accessing object properties
-
-name}
-email: {$person->email}
-]]>
-
-
- this will output:
-
-
-
-email: zaphod@slartibartfast.com
-]]>
-
-
-
-
-
-
- Variables loaded from config files
-
- Variables that are loaded from the config files are referenced by
- enclosing them within hash marks (#), or with the smarty variable
- $smarty.config.
- The second syntax is useful for embedding into quoted attribute
- values.
-
-
- config variables
-
- foo.conf:
-
-
-
-
-
- index.tpl:
-
-
-
-{#pageTitle#}
-
-