From 4d7485f48952c43c6e313963b47d379811ace661 Mon Sep 17 00:00:00 2001
From: messju
Date: Fri, 24 Jun 2005 09:02:38 +0000
Subject: [PATCH] sync with en
---
.../language-function-insert.xml | 237 ++--
.../language-function-ldelim.xml | 73 +-
.../language-function-literal.xml | 66 +-
.../language-function-php.xml | 55 +-
.../language-function-section.xml | 1223 ++++++++++-------
.../language-function-strip.xml | 97 +-
6 files changed, 1023 insertions(+), 728 deletions(-)
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}
+]]>
+
+
-
-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>
+
+]]>
+
+
-
-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}
+
+
+]]>
+
+
+
+
+ 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}
+
+
+]]>
+
+
+
+
+ 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
+
-
]]>
-
-
-
- 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:
+
+
+
+]]>
+
+
+
+ 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)
+
+