diff --git a/docs/de/designers/language-builtin-functions/language-function-insert.xml b/docs/de/designers/language-builtin-functions/language-function-insert.xml index f07bfa5d..121e2c12 100644 --- a/docs/de/designers/language-builtin-functions/language-function-insert.xml +++ b/docs/de/designers/language-builtin-functions/language-function-insert.xml @@ -1,121 +1,128 @@ - - - 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' - - + + + 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. - - +{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. + + - - - 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 - - + + + 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. Um text im Template vor dem Interpretieren zu + schützen kann auch {literal}{/literal} + verwendet werden. Siehe auch {$smarty.ldelim}. + + + ldelim, rdelim + + + + + Das obige Beispiel ergibt als Ausgabe: + + + - - +]]> + + + Ein weiteres Beispiel (diesmal mit javascript) + + + +function foo() {ldelim} + ... code ... +{rdelim} + +]]> + + + Ausgabe: + + + +function foo() { + .... code ... +} + +]]> + + + + + Siehe auch Smarty Parsing umgehen + + - - 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 + + {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. Wenn in + einem {literal}-Block temlate-Tags verwendet werden sollen, is es + manchmal sinnvoller {ldelim}{rdelim} statt + {literal} zu verwenden. + + + literal-Tags + + - + +{/literal} +]]> + + + + Siehe auch Smarty Parsing + umgehen. + - - - 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}-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 Skript direkt von Template einbinden + include("/pfad/zu/zeige_weather.php"); + {/php} +]]> + + + + Technical Note + + Um auf PHP-Variablen in {php}-Blöcken zugreifen zu können, kann es + nötig sein, die Variable als global zu deklarieren. Der + {php}-Blöck läuft nämlich nicht in einem globalen Kontext, sondern + im Kontext der method des laufenden $smarty-Objektes. + + + + Siehe auch $php_handling, {include_php}, {include} und Template/Script + Komponenten. + - - - 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 - n/a - 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 - + + + 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 + n/a + 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 (ähnlich wie {foreach}). 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 + +assign('custid',$data); +?> +]]> + + + {/section} +{* alle Werte in umgekehrter Reihenfolge ausgeben: *} +{section name=kunde loop=$KundenId step=-1} +id: {$KundenId[kunde]}
+{/section} +]]> +
+ + Ausgabe des obigen Beispiels: + + + +id: 1001
+id: 1002
+
+id: 1002
+id: 1001
+id: 1000
+]]> +
-AUSGABE: + + Ein weiteres Beispiel, diesmal ohne ein zugewiesenes Array. + + + +{section name=bar loop=21 max=6 step=-2} + {$smarty.section.bar.index} +{/section} +]]> + -id: 1000<br> -id: 1001<br> -id: 1002<br>
-
+ + Ausgabe des obigen Beispiels: + - -section loop Variable - + + +20 18 16 14 12 10 +]]> + + + + + + + + section loop Variable + + +name: {$Namen[kunde]}
+address: {$Adressen[kunde]}
+

{/section} +]]> + + + Ausgabe des obigen Beispiels: + + + - - - -section names - -{* die 'name'-Variable definiert den Namen der verwendet werden soll, - um Daten aus dieser 'section' zu referenzieren *} +id: 1000
+name: Peter Müller
+adresse: 253 N 45th
+

+id: 1001
+name: Fritz Muster
+adresse:: 417 Mulberry ln
+

+id: 1002
+name: Hans Meier
+adresse:: 5605 apple st
+

+]]> + + + + section names + + - +

+ id: {$KundenId[meinedaten]}
+ name: {$Namen[meinedaten]}
+ address: {$Adressen[meinedaten]} +

+{/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. *} + + nested sections (verschachtelte 'sections') + +assign('custid',$id); + +$fullnames = array('John Smith','Jack Jones','Jane Munson'); +$smarty->assign('name',$fullnames); + +$addr = array('253 N 45th', '417 Mulberry ln', '5605 apple st'); +$smarty->assign('address',$addr); + +$types = array( + array( 'home phone', 'cell phone', 'e-mail'), + array( 'home phone', 'web'), + array( 'cell phone') + ); +$smarty->assign('contact_type', $types); + +$info = array( + array('555-555-5555', '666-555-5555', 'john@myexample.com'), + array( '123-456-4', 'www.example.com'), + array( '0457878') + ); +$smarty->assign('contact_info', $info); + +?> + ]]> + + + + id: {$custid[customer]}
+ name: {$name[customer]}
+ address: {$address[customer]}
+ {section name=contact loop=$contact_type[customer]} + {$contact_type[customer][contact]}: {$contact_info[customer][contact]}
+ {/section} {/section} +]]> +
+ + Ausgabe des obigen Beispiels: + + + + id: 1000
+ name: John Smith
+ address: 253 N 45th
+ home phone: 555-555-5555
+ cell phone: 666-555-5555
+ e-mail: john@myexample.com
+
+ id: 1001
+ name: Jack Jones
+ address: 417 Mulberry ln
+ home phone: 123-456-4
+ web: www.example.com
+
+ id: 1002
+ name: Jane Munson
+ address: 5605 apple st
+ cell phone: 0457878
+]]> +
+
+ + sections und assoziative Arrays + + 'John Smith', 'home' => '555-555-5555', + 'cell' => '666-555-5555', 'email' => 'john@myexample.com'), + array('name' => 'Jack Jones', 'home' => '777-555-5555', + 'cell' => '888-555-5555', 'email' => 'jack@myexample.com'), + array('name' => 'Jane Munson', 'home' => '000-555-5555', + 'cell' => '123456', 'email' => 'jane@myexample.com') + ); +$smarty->assign('contacts',$data); -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.*} +?> +]]> + + + +name: {$contacts[customer].name}
+home: {$contacts[customer].home}
+cell: {$contacts[customer].cell}
+e-mail: {$contacts[customer].email} +

{/section} -{* Anm. d. übersetzers: Oft ist die Anwendung von 'foreach' kürzer. *} +{* 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> +

+name: {$customer.name}
+home: {$customer.home}
+cell: {$customer.cell}
+e-mail: {$customer.email} +

{/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>
-
+]]> +
+ + Ausgabe des obigen Beispiels: + + + +name: John Smith
+home: 555-555-5555
+cell: 555-555-5555
+e-mail: john@mydomain.com +

+

+name: Jack Jones
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jack@mydomain.com +

+name: Jane Munson
+home phone: 555-555-5555
+cell phone: 555-555-5555
+e-mail: jane@mydomain.com +

+]]> +
+
- -sectionelse - -{* sectionelse wird aufgerufen, wenn keine $custid Werte vorhanden sind *} + + + + sectionelse + + {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} +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} +]]> + + + Ausgabe des obigen Beispiels: + + + +1 id: 1001
+2 id: 1002
+]]> +
+
+
+ + index_prev + + 'index_prev' wird verwendet um den vorhergehenden Schleifen-Index + auszugeben. Bei der ersten Iteration ist dieser Wert -1. + + + section'-Eigenschaft 'index_prev' + + +{* 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.
+{/if} +{/section} +]]> +
+ + Ausgabe des obigen Beispiels: + + + + Die Kundennummer hat sich geändert.
+1 id: 1001
+ Die Kundennummer hat sich geändert.
+2 id: 1002
+ Die Kundennummer hat sich geändert.
+]]> +
+
+
+ + 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' + + +{* 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.
+{/if} +{/section} +]]> +
+ + Ausgabe des obigen Beispiels: + + + + Die Kundennummer wird sich ändern.
+1 id: 1001
+ Die Kundennummer wird sich ändern.
+2 id: 1002
+ Die Kundennummer wird sich ändern.
+]]¦ +
+
+
+ + 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' + + +{$smarty.section.customer.index} id: {$custid[customer]}
+{* 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.
+{/if} +{/section} +]]> +
+ + Ausgabe des obigen Beispiels: + + + + Die Kundennummer wird sich ändern.
+aktuelle loop iteration: 2 +7 id: 1001
+ Die Kundennummer wird sich ändern.
+aktuelle loop iteration: 3 +9 id: 1002
+ Die Kundennummer wird sich ändern.
+]]> +
+
+
+ + first + + 'first' ist 'true', wenn die aktuelle Iteration die erste dieser + 'section' ist. + + + 'section'-Eigenschaft 'first' + + +{/if} +{$smarty.section.customer.index} id: + {$custid[customer]} - AUSGABE: +{if $smarty.section.customer.last} + +{/if} +{/section} +]]> + + + Ausgabe des obigen Beispiels: + + + +0 id: 1000 +1 id: 1001 +2 id: 1002 + +]]> + + + + + last + + 'last' ist 'true' wenn die aktuelle Iteration die letzte dieser + 'section' ist. + + + 'section'-Eigenschaft 'last' + + +{/if} - 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} +{$smarty.section.customer.index} id: + {$custid[customer]} +{if $smarty.section.customer.last} + +{/if} +{/section} +]]> + + + Ausgabe des obigen Beispiels: + + + +0 id: 1000 +1 id: 1001 +2 id: 1002 + +]]> + + + + + 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} + + + Ausgabe des obigen Beispiels: + + + +2 id: 1001
+3 id: 1002
+]]> +
+
+
+ + 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} - AUSGABE: +Es wurden {$smarty.section.customer.loop} Kunden angezeigt. +]]> + + + Ausgabe des obigen Beispiels: + + + +1 id: 1001
+2 id: 1002
- 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} +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} +{if $smarty.section.customer.show} +die 'section' wurde angezeigt +{else} +die 'section' wurde nicht angezeigt +{/if} +]]> + + + Ausgabe des obigen Beispiels: + + + +2 id: 1001
+3 id: 1002
- AUSGABE: +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} - 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} +Es wurden {$smarty.section.customer.total} Kunden angezeigt. +]]> + + + Ausgabe des obigen Beispiels: + + + +2 id: 1001
+4 id: 1002
- - 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. - - - +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 - + + + 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 + - - - - Das ist ein Test. - - - + + + + Das ist ein Test. + + + {/strip} - - -AUSGABE: - -
Das ist ein Test.
]]> -
-
- - 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. - + + + Ausgebe des obigen Beispiels: + + +Das ist ein Test. +]]> + + + + 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. + + + Siehe auch strip-Modifikator + (Zeichenkette strippen) +
+