diff --git a/docs/de/designers/language-builtin-functions/language-function-capture.xml b/docs/de/designers/language-builtin-functions/language-function-capture.xml index c20057f4..324284fb 100644 --- a/docs/de/designers/language-builtin-functions/language-function-capture.xml +++ b/docs/de/designers/language-builtin-functions/language-function-capture.xml @@ -1,85 +1,94 @@ - - - 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 - + + + 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 Capture-Variablen abgelegt und kann über $smarty.capture.foo + angesprochen werden. Falls kein 'name'-Attribut übergeben wurde, + wird der Inhalt in 'default' (also $smarty.capture.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 + + - - + + + + +
+ {$smarty.capture.banner} +
+{/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 (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 + + Definiert, ob die Variablen von allen Templates aus zugänglich + sind. WICHTIG: 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 + + beispiel.conf + + + +# globale Variablen +seitenTitel = "Hauptmenü" +bodyHintergrundFarbe = #000000 +tabelleHintergrundFarbe = #000000 +reiheHintergrundFarbe = #00ff00 + +# Kundenvariablen +[Kunden] +seitenTitel = "Kundeninfo" +]]> + + and the template + {#seitenTitel#} - - - - - + + + + +
VornamenNachnamenAdresse
VornamenNachnamenAdresse
]]> -
-
- - 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 - + + + + 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 + {#seitenTitel#} - - - - - + + + + +
VornamenNachnamenAdresse
VornamenNachnamenAdresse
]]> -
-
+ +
+ + + Siehe auch Konfigurationsdateien, Variablen aus + Konfigurationsdateien, $config_dir, get_config_vars() und config_load(). +
- - - 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 - - - + + + {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} - item + +assign('custid', $arr); +?> +]]> + + + {/foreach} +]]> + + + Das obige Beispiel erzeugt folgende Ausgabe: + + + +id: 1001
+id: 1002
+]]> +
+
-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} - item und key + +assign('kontakte', array( + array('phone' => '1', + 'fax' => '2', + 'cell' => '3'), + array('phone' => '555-4444', + 'fax' => '555-3333', + 'cell' => '760-1234') + )); +?> +]]> + + + {foreach key=schluessel item=wert from=$kontakt} - {$schluessel}: {$wert}<br> + {$schluessel}: {$wert}
{/foreach} {/foreach} +
+ + Das obige Beispiel erzeugt folgende Ausgabe: + + + + phone: 1
+ fax: 2
+ cell: 3
+
+ phone: 555-4444
+ fax: 555-3333
+ cell: 760-1234
+]]> +
+
-AUSGABE: + + {foreach} - Beispiel mit Datenbankzugriff (z.B. PEAR oder ADODB) + +assign('kontakte', $db->getAssoc($sql)); +?> +]]> + + +{$con.name} - {$con.nick}
+{/foreach} +]]> +
+
-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. + - - 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. - - + + 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 - - + + first + + first ist TRUE wenn die aktuelle Iteration die erste ist + + + + last + + last ist TRUE wenn die aktuelle Iteration die letzte 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. - - + + 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. + +
- - 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 - - + + 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. Alle PHP Vergleichsoperatoren, wie + ||, or, + &&, and, etc. sind + erlaubt. + + + Hier eine Liste der erlaubten Operatoren. Bedingungsoperatoren + müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden. + PHP-Äquivalente sind, sofern vorhanden, angeben. + + + + + + + + + + + Operator + Alternativen + Syntax Beispiel + Bedeutung + PHP Äquivalent + + + + + == + eq + $a eq $b + ist gleich + == + + + != + ne, neq + $a neq $b + ist ungleich + != + + + > + gt + $a gt $b + größer als + > + + + < + lt + $a lt $b + kleiner als + < + + + >= + gte, ge + $a ge $b + größer oder gleich + >= + + + <= + lte, le + $a le $b + kleiner oder gleich + <= + + + === + + $a === 0 + identisch + === + + + ! + not + not $a + Negation + ! + + + % + mod + $a mod $b + Modulo + % + + + is [not] div by + + $a is not div by 4 + Ist [nicht] teilbar durch + $a % $b == 0 + + + is [not] even + + $a is not even + ist [k]eine gerade Zahl + $a % 2 == 0 + + + is [not] even by + + $a is [not] even by $b + [k]eine gerade Gruppierung + ($a / $b) % 2 == 0 + + + is [not] odd + + $a is not odd + ist [k]eine ungerade Zahl + $a % 2 != 0 + + + is [not] odd by + + $a is not odd by $b + [k]eine ungerade Gruppierung + ($a / $b) % 2 != 0 + + + + + + if Anweisung + + 1000 ) and $menge >= #minMengeAmt#} ... {/if} -{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *} +{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *} {if count($var) gt 0} ... {/if} @@ -83,7 +207,9 @@ {* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *} {if $var is even by 3} ... -{/if} +{/if} +]]> + - - - 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 ---------- - + + + 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. + + + + + + Die Verwendung von {include_php} wird nicht mehr empfohlen, die + gleiche funktionalität kann auch mit Template/Script + Komponenten erreicht werden. + + + 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. + + + 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 + +query("select * from site_nav_sections order by name",SQL_ALL); + $this->assign($sections,$sql->record); +?> +]]> + + + Bei folgendem index.tpl: + + + - + {$aktuelle_section.name}
+{/foreach} +]]> +
+
+ + Siehe auch {include}, {php}, {capture}, Template Ressourcen and Template/Script + Komponenten +
- - - 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"} + + + 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) + + + + {$title} + + +{include file="page_header.tpl"} {* hier kommt der body des Templates *} +{include file="/$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt -{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="page_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 + + - - - Benutzen sie die Syntax von template resources, - um Templates ausserhalb des '$template_dir' einzubinden: - - -Beispiele für Template-Ressourcen bei der 'include'-Funktion - +{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 + + - +{include file="db:header.tpl"} +]]> + + + + Siehe auch + {include_php}, + {php}, + Template Ressourcen und + Template/Skript Komponenten. +