mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-07 11:54:26 +02:00
sync with en
This commit is contained in:
@@ -1,85 +1,94 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.2 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.capture">
|
<sect1 id="language.function.capture">
|
||||||
<title>capture (Ausgabe abfangen)</title>
|
<title>capture (Ausgabe abfangen)</title>
|
||||||
<informaltable frame="all">
|
<informaltable frame="all">
|
||||||
<tgroup cols="5">
|
<tgroup cols="5">
|
||||||
<colspec colname="param" align="center" />
|
<colspec colname="param" align="center" />
|
||||||
<colspec colname="type" align="center" />
|
<colspec colname="type" align="center" />
|
||||||
<colspec colname="required" align="center" />
|
<colspec colname="required" align="center" />
|
||||||
<colspec colname="default" align="center" />
|
<colspec colname="default" align="center" />
|
||||||
<colspec colname="desc" />
|
<colspec colname="desc" />
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Attribut Name</entry>
|
<entry>Attribut Name</entry>
|
||||||
<entry>Typ</entry>
|
<entry>Typ</entry>
|
||||||
<entry>Benötigt</entry>
|
<entry>Ben<EFBFBD>tigt</entry>
|
||||||
<entry>Standardwert</entry>
|
<entry>Standardwert</entry>
|
||||||
<entry>Beschreibung</entry>
|
<entry>Beschreibung</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>name</entry>
|
<entry>name</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>no</entry>
|
<entry>no</entry>
|
||||||
<entry><emphasis>default</emphasis></entry>
|
<entry><emphasis>default</emphasis></entry>
|
||||||
<entry>Der Name des abgefangenen Blocks</entry>
|
<entry>Der Name des abgefangenen Blocks</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>assign</entry>
|
<entry>assign</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>No</entry>
|
<entry>No</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Der Name der Variable welcher der Wert zugewiesen werden soll.</entry>
|
<entry>Der Name der Variable welcher der Wert zugewiesen werden soll.</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
<para>
|
<para>
|
||||||
'capture' wird verwendet, um die Template-Ausgabe abzufangen und in einer
|
'capture' wird verwendet, um die Template-Ausgabe abzufangen und in
|
||||||
Variable zu speichern. Der Inhalt zwischen {capture name="foo"} und {/capture}
|
einer Variable zu speichern. Der Inhalt zwischen {capture
|
||||||
wird unter der im 'name' Attribut angegebenen Variable abgelegt und kann über
|
name="foo"} und {/capture} wird unter der im 'name' Attribut
|
||||||
'$smarty.capture.foo' angesprochen werden. Falls kein 'name'-Attribut
|
angegebenen Capture-Variablen abgelegt und kann <20>ber <link
|
||||||
übergeben wurde, wird der Inhalt in 'default' abgelegt.
|
linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
|
||||||
Jede {capture} Sektion muss mit {/capture} beendet werden.
|
angesprochen werden. Falls kein 'name'-Attribut <20>bergeben wurde,
|
||||||
'capture'-Blöcke können verschachtelt sein.
|
wird der Inhalt in 'default' (also $smarty.capture.default)
|
||||||
</para>
|
abgelegt. Jede {capture} Sektion muss mit {/capture} beendet
|
||||||
<note>
|
werden. 'capture'-Bl<42>cke k<>nnen verschachtelt sein.
|
||||||
<title>Technische Bemerkung</title>
|
</para>
|
||||||
<para>
|
<note>
|
||||||
Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
|
<title>Technische Bemerkung</title>
|
||||||
Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
|
<para>
|
||||||
Bitte passen Sie Ihre Templates entsprechend an.
|
Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
|
||||||
</para>
|
Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
|
||||||
</note>
|
Bitte passen Sie Ihre Templates entsprechend an.
|
||||||
<caution>
|
</para>
|
||||||
<para>
|
</note>
|
||||||
Seien Sie vorsichtig, wenn sie die Ausgabe von <command>insert</command>
|
<caution>
|
||||||
abfangen wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
|
<para>
|
||||||
eingeschaltet ist und Sie einen <command>insert</command>
|
Seien Sie vorsichtig, wenn sie die Ausgabe von <link
|
||||||
Befehl verwenden, um Ausgaben vom Caching auszuschliessen.
|
linkend="language.function.insert">{insert}</link> abfangen
|
||||||
</para>
|
wollen. Sie sollten die Ausgabe nicht abfangen, wenn Caching
|
||||||
</caution>
|
eingeschaltet ist und Sie einen <link
|
||||||
<para>
|
linkend="language.function.insert">{insert}</link> Befehl
|
||||||
<example>
|
verwenden, um Ausgaben vom Caching auszuschliessen.
|
||||||
<title>Template-Inhalte abfangen</title>
|
</para>
|
||||||
<programlisting>
|
</caution>
|
||||||
|
<para>
|
||||||
|
<example>
|
||||||
|
<title>Template-Inhalte abfangen</title>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
|
{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
|
||||||
{capture name=banner}
|
{capture name=banner}
|
||||||
{include file="get_banner.tpl"}
|
{include file="get_banner.tpl"}
|
||||||
{/capture}
|
{/capture}
|
||||||
{if $smarty.capture.banner ne ""}
|
{if $smarty.capture.banner ne ""}
|
||||||
<tr>
|
<table>
|
||||||
<td>
|
<tr>
|
||||||
{$smarty.capture.banner}
|
<td>
|
||||||
</td>
|
{$smarty.capture.banner}
|
||||||
</tr>
|
</td>
|
||||||
{/if}</programlisting>
|
</tr>
|
||||||
</example>
|
</table>
|
||||||
</para>
|
{/if}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
|
@@ -1,124 +1,158 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.4 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.4 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.config.load">
|
<sect1 id="language.function.config.load">
|
||||||
<title>config_load (Konfiguration laden)</title>
|
<title>config_load (Konfiguration laden)</title>
|
||||||
<informaltable frame="all">
|
<informaltable frame="all">
|
||||||
<tgroup cols="5">
|
<tgroup cols="5">
|
||||||
<colspec colname="param" align="center" />
|
<colspec colname="param" align="center" />
|
||||||
<colspec colname="type" align="center" />
|
<colspec colname="type" align="center" />
|
||||||
<colspec colname="required" align="center" />
|
<colspec colname="required" align="center" />
|
||||||
<colspec colname="default" align="center" />
|
<colspec colname="default" align="center" />
|
||||||
<colspec colname="desc" />
|
<colspec colname="desc" />
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Attribut Name</entry>
|
<entry>Attribut Name</entry>
|
||||||
<entry>Typ</entry>
|
<entry>Typ</entry>
|
||||||
<entry>Erforderlich</entry>
|
<entry>Erforderlich</entry>
|
||||||
<entry>Standardwert</entry>
|
<entry>Standardwert</entry>
|
||||||
<entry>Beschreibung</entry>
|
<entry>Beschreibung</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>file</entry>
|
<entry>file</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Ja</entry>
|
<entry>Ja</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Definiert den Namen der einzubindenden Datei.</entry>
|
<entry>Definiert den Namen der einzubindenden Datei.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>section</entry>
|
<entry>section</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Definiert den Namen des zu ladenden Abschnitts.</entry>
|
<entry>Definiert den Namen des zu ladenden Abschnitts.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>scope</entry>
|
<entry>scope</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>local</emphasis></entry>
|
<entry><emphasis>local</emphasis></entry>
|
||||||
<entry>
|
<entry>
|
||||||
Definiert den Geltungsbereich der zu ladenden Variablen.
|
Definiert den Geltungsbereich der zu ladenden Variablen.
|
||||||
Erlaubte Werte sind 'local','parent' und 'global'. 'local' bedeutet,
|
Erlaubte Werte sind 'local','parent' und 'global'. 'local'
|
||||||
dass die Variablen in den Context des lokalen Template geladen werden.
|
bedeutet, dass die Variablen in den Context des lokalen Template
|
||||||
'parent' bedeutet, dass die Variablen sowohl in den lokalen Context,
|
geladen werden. 'parent' bedeutet, dass die Variablen sowohl in
|
||||||
als auch in den Context des aufrufenden Templates eingebunden werden.
|
den lokalen Context, als auch in den Context des aufrufenden
|
||||||
'global' bedeutet, dass die Variablen von allen Templates zugänglich sind.
|
Templates eingebunden werden. 'global' bedeutet, dass die
|
||||||
</entry>
|
Variablen von allen Templates zug<75>nglich sind.
|
||||||
</row>
|
</entry>
|
||||||
<row>
|
</row>
|
||||||
<entry>global</entry>
|
<row>
|
||||||
<entry>boolean</entry>
|
<entry>global</entry>
|
||||||
<entry>Nein</entry>
|
<entry>boolean</entry>
|
||||||
<entry><emphasis>No</emphasis></entry>
|
<entry>Nein</entry>
|
||||||
<entry>
|
<entry><emphasis>No</emphasis></entry>
|
||||||
DEPRECATED:
|
<entry>
|
||||||
Definiert, ob die Variablen von allen Templates aus zugänglich sind.
|
Definiert, ob die Variablen von allen Templates aus zug<EFBFBD>nglich
|
||||||
Dieses Attribut wird von 'scope' abgelöst und sollte nicht mehr
|
sind. WICHTIG: Dieses Attribut wird von 'scope' abgel<EFBFBD>st und
|
||||||
verwendet werden. Falls 'scope' übergeben wurde, wird 'global' ignoriert.
|
sollte nicht mehr verwendet werden. Falls 'scope' <EFBFBD>bergeben
|
||||||
</entry>
|
wurde, wird 'global' ignoriert.
|
||||||
</row>
|
</entry>
|
||||||
</tbody>
|
</row>
|
||||||
</tgroup>
|
</tbody>
|
||||||
</informaltable>
|
</tgroup>
|
||||||
<para>
|
</informaltable>
|
||||||
Diese Funktion wird verwendet, um Variablen aus einer Konfigurationsdatei
|
<para>
|
||||||
in das Template zu laden. Sehen sie <link linkend="config.files">Config Files (Konfigurationsdateien)</link>
|
Diese Funktion wird verwendet, um <link
|
||||||
für weitere Informationen.
|
linkend="language.config.variables">Variablen aus einer
|
||||||
</para>
|
Konfigurationsdatei</link> in das Template zu laden. Sehen sie
|
||||||
<example>
|
<link linkend="config.files">Config Files
|
||||||
<title>Funktion config_load</title>
|
(Konfigurationsdateien)</link> f<>r weitere Informationen.
|
||||||
|
</para>
|
||||||
|
<example>
|
||||||
|
<title>Funktion config_load</title>
|
||||||
|
<para>
|
||||||
|
beispiel.conf
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
#Dies ist ein Konfigurationsdateikommentar
|
||||||
|
|
||||||
<programlisting>
|
# globale Variablen
|
||||||
|
seitenTitel = "Hauptmen<65>"
|
||||||
|
bodyHintergrundFarbe = #000000
|
||||||
|
tabelleHintergrundFarbe = #000000
|
||||||
|
reiheHintergrundFarbe = #00ff00
|
||||||
|
|
||||||
|
# Kundenvariablen
|
||||||
|
[Kunden]
|
||||||
|
seitenTitel = "Kundeninfo"
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
<para>and the template</para>
|
||||||
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
{config_load file="farben.conf"}
|
{config_load file="example.conf"}
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<title>{#seitenTitel#}</title>
|
<title>{#seitenTitel#}</title>
|
||||||
<body bgcolor="{#bodyHintergrundFarbe#}">
|
<body bgcolor="{#bodyHintergrundFarbe#}">
|
||||||
<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
|
<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
|
||||||
<tr bgcolor="{#reiheHintergrundFarbe#}">
|
<tr bgcolor="{#reiheHintergrundFarbe#}">
|
||||||
<td>Vornamen</td>
|
<td>Vornamen</td>
|
||||||
<td>Nachnamen</td>
|
<td>Nachnamen</td>
|
||||||
<td>Adresse</td>
|
<td>Adresse</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
<para>
|
<para>
|
||||||
Konfigurationsdateien können Abschnitte enthalten. Um Variablen
|
<link linkend="config.files">Konfigurationsdateien</link> k<>nnen
|
||||||
aus einem Abschnitt zu laden, können Sie das Attribut
|
Abschnitte enthalten. Um Variablen aus einem Abschnitt zu laden,
|
||||||
<emphasis>section</emphasis> übergeben.
|
k<EFBFBD>nnen Sie das Attribut <emphasis>section</emphasis> <EFBFBD>bergeben.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Bemerkung: <emphasis>Konfigurationdatei-Abschnitte (sections)</emphasis> und die
|
Bemerkung: <emphasis>Konfigurationdatei-Abschnitte
|
||||||
eingebaute Template Funktion namens <emphasis>section</emphasis> haben ausser dem
|
(sections)</emphasis> und die eingebaute Template Funktion namens
|
||||||
Namen nichts gemeinsam.
|
<link linkend="language.function.section">section</link> haben ausser
|
||||||
</para>
|
dem Namen nichts gemeinsam.
|
||||||
<example>
|
</para>
|
||||||
<title>Funktion config_load mit Abschnitten</title>
|
|
||||||
<programlisting>
|
<example>
|
||||||
|
<title>Funktion config_load mit Abschnitten</title>
|
||||||
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
{config_load file="farben.conf" section="Kunde"}
|
{config_load file="beispiel.conf" section="Kunde"}
|
||||||
<html>
|
<html>
|
||||||
<title>{#seitenTitel#}</title>
|
<title>{#seitenTitel#}</title>
|
||||||
<body bgcolor="{#bodyHintergrundFarbe#}">
|
<body bgcolor="{#bodyHintergrundFarbe#}">
|
||||||
<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
|
<table border="{#tabelleRahmenBreite#}" bgcolor="{#tabelleHintergrundFarbe#}">
|
||||||
<tr bgcolor="{#reiheHintergrundFarbe#}">
|
<tr bgcolor="{#reiheHintergrundFarbe#}">
|
||||||
<td>Vornamen</td>
|
<td>Vornamen</td>
|
||||||
<td>Nachnamen</td>
|
<td>Nachnamen</td>
|
||||||
<td>Adresse</td>
|
<td>Adresse</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Siehe auch <link
|
||||||
|
linkend="config.files">Konfigurationsdateien</link>, <link
|
||||||
|
linkend="language.config.variables">Variablen aus
|
||||||
|
Konfigurationsdateien</link>, <link
|
||||||
|
linkend="variable.config.dir">$config_dir</link>, <link
|
||||||
|
linkend="api.get.config.vars">get_config_vars()</link> und <link
|
||||||
|
linkend="api.config.load">config_load()</link>.
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
|
@@ -1,161 +1,218 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.7 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.foreach">
|
<sect1 id="language.function.foreach">
|
||||||
<title>foreach, foreachelse</title>
|
<title>{foreach}, {foreachelse}</title>
|
||||||
<informaltable frame="all">
|
<informaltable frame="all">
|
||||||
<tgroup cols="5">
|
<tgroup cols="5">
|
||||||
<colspec colname="param" align="center" />
|
<colspec colname="param" align="center" />
|
||||||
<colspec colname="type" align="center" />
|
<colspec colname="type" align="center" />
|
||||||
<colspec colname="required" align="center" />
|
<colspec colname="required" align="center" />
|
||||||
<colspec colname="default" align="center" />
|
<colspec colname="default" align="center" />
|
||||||
<colspec colname="desc" />
|
<colspec colname="desc" />
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Attribut Name</entry>
|
<entry>Attribut Name</entry>
|
||||||
<entry>Typ</entry>
|
<entry>Typ</entry>
|
||||||
<entry>Erforderlich</entry>
|
<entry>Erforderlich</entry>
|
||||||
<entry>Standardwert</entry>
|
<entry>Standardwert</entry>
|
||||||
<entry>Beschreibung</entry>
|
<entry>Beschreibung</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>from</entry>
|
<entry>from</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Ja</entry>
|
<entry>Ja</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Name des zu durchlaufenden Array.</entry>
|
<entry>Name des zu durchlaufenden Array.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>item</entry>
|
<entry>item</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Ja</entry>
|
<entry>Ja</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Name für das aktuelle Element.</entry>
|
<entry>Name f<EFBFBD>r das aktuelle Element.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>key</entry>
|
<entry>key</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Name für den aktuellen Schlüssel.</entry>
|
<entry>Name f<EFBFBD>r den aktuellen Schl<EFBFBD>ssel.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>name</entry>
|
<entry>name</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Name der 'foreach'-Schleife, für die Abfrage der 'foreach'-Eigenschaften.</entry>
|
<entry>Name der 'foreach'-Schleife, f<EFBFBD>r die Abfrage der 'foreach'-Eigenschaften.</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
<para>
|
<para>
|
||||||
Die <emphasis>foreach</emphasis> Schleife ist eine Alternative zu <emphasis>section</emphasis>.
|
|
||||||
<emphasis>foreach</emphasis> wird verwendet, um ein assoziatives Array
|
|
||||||
zu durchlaufen. Die Syntax von <emphasis>foreach</emphasis>-Schleifen ist viel einfacher als
|
|
||||||
die von <emphasis>section</emphasis>. <emphasis>foreach</emphasis> tags müssen mit <emphasis>/foreach</emphasis>
|
|
||||||
tags kombiniert werden. Erforderliche Parameter sind: <emphasis>from</emphasis> und
|
|
||||||
<emphasis>item</emphasis>. Der Name der 'foreach'-Schleife kann frei vergeben werden
|
|
||||||
und sowohl Buchstaben, Zahlen als auch Unterstriche enthalten.
|
|
||||||
<emphasis>foreach</emphasis>-Schleifen können verschachtelt werden, dabei ist
|
|
||||||
zu beachten, dass sich die definierten Namen voneinander unterscheiden.
|
|
||||||
Die <emphasis>from</emphasis> Variable (normalerweise
|
|
||||||
ein assoziatives Array) definiert die Anzahl der von <emphasis>foreach</emphasis>
|
|
||||||
zu durchlaufenen Iterationen. <emphasis>foreachelse</emphasis> wird ausgeführt wenn
|
|
||||||
keine Werte in der <emphasis>from</emphasis> Variable übergeben wurden.
|
|
||||||
</para>
|
|
||||||
<example>
|
|
||||||
<title>foreach</title>
|
|
||||||
<programlisting>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Die <emphasis>foreach</emphasis> Schleife ist eine Alternative zu
|
||||||
|
<link
|
||||||
|
linkend="language.function.section"><emphasis>section</emphasis></link>.
|
||||||
|
<emphasis>foreach</emphasis> wird verwendet, um ein assoziatives
|
||||||
|
Array zu durchlaufen. Die Syntax von
|
||||||
|
<emphasis>foreach</emphasis>-Schleifen ist viel einfacher als die
|
||||||
|
von <emphasis>section</emphasis>. <emphasis>{foreach}</emphasis>
|
||||||
|
Tags m<>ssen mit <emphasis>{/foreach}</emphasis> tags kombiniert
|
||||||
|
werden. Erforderliche Parameter sind: <emphasis>from</emphasis> und
|
||||||
|
<emphasis>item</emphasis>. Der Name der {foreach}-Schleife kann
|
||||||
|
frei vergeben werden und sowohl Buchstaben, Zahlen als auch
|
||||||
|
Unterstriche enthalten. <emphasis>foreach</emphasis>-Schleifen
|
||||||
|
k<>nnen verschachtelt werden, dabei ist zu beachten, dass sich die
|
||||||
|
definierten Namen voneinander unterscheiden. Die
|
||||||
|
<emphasis>from</emphasis> Variable (normalerweise ein assoziatives
|
||||||
|
Array) definiert die Anzahl der von <emphasis>foreach</emphasis> zu
|
||||||
|
durchlaufenen Iterationen. <emphasis>foreachelse</emphasis> wird
|
||||||
|
ausgef<65>hrt wenn keine Werte in der <emphasis>from</emphasis>
|
||||||
|
Variable <20>bergeben wurden.
|
||||||
|
</para>
|
||||||
|
<example>
|
||||||
|
<title>{foreach} - item</title>
|
||||||
|
<programlisting role="php">
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
|
$arr = array( 1001,1002,1003);
|
||||||
|
$smarty->assign('custid', $arr);
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *}
|
{* dieses Beispiel gibt alle Werte aus dem $KundenId Array aus *}
|
||||||
{foreach from=$KundenId item=aktuelle_id}
|
{foreach from=$KundenId item=aktuelle_id}
|
||||||
id: {$aktuelle_id}<br>
|
id: {$aktuelle_id}<br>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Das obige Beispiel erzeugt folgende Ausgabe:
|
||||||
|
</para>
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
id: 1000<br>
|
||||||
|
id: 1001<br>
|
||||||
|
id: 1002<br>
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
</example>
|
||||||
|
|
||||||
AUSGABE:
|
<example>
|
||||||
|
<title>{foreach} - item und key</title>
|
||||||
id: 1000<br>
|
<programlisting role="php">
|
||||||
id: 1001<br>
|
<![CDATA[
|
||||||
id: 1002<br></programlisting>
|
// Der Schl<68>ssel enth<74>lt den Schl<68>ssel des jeweils iterierten Wertes
|
||||||
</example>
|
// die Zuweisung sieht wie folgt aus:
|
||||||
|
<?php
|
||||||
<example>
|
$smarty->assign('kontakte', array(
|
||||||
<title>foreach key</title>
|
array('phone' => '1',
|
||||||
<programlisting>
|
'fax' => '2',
|
||||||
{* Der Schlüssel enthält den Schlüssel des jeweils iterierten Wertes
|
'cell' => '3'),
|
||||||
|
array('phone' => '555-4444',
|
||||||
die Zuweisung sieht wie folgt aus:
|
'fax' => '555-3333',
|
||||||
|
'cell' => '760-1234')
|
||||||
$smarty->assign("kontakte", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
|
));
|
||||||
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
|
?>
|
||||||
|
]]>
|
||||||
*}
|
</programlisting>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
{foreach name=aussen item=kontakt from=$kontakte}
|
{foreach name=aussen item=kontakt from=$kontakte}
|
||||||
|
<hr />
|
||||||
{foreach key=schluessel item=wert from=$kontakt}
|
{foreach key=schluessel item=wert from=$kontakt}
|
||||||
{$schluessel}: {$wert}<br>
|
{$schluessel}: {$wert}<br>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Das obige Beispiel erzeugt folgende Ausgabe:
|
||||||
|
</para>
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
<hr />
|
||||||
|
phone: 1<br>
|
||||||
|
fax: 2<br>
|
||||||
|
cell: 3<br>
|
||||||
|
<hr />
|
||||||
|
phone: 555-4444<br>
|
||||||
|
fax: 555-3333<br>
|
||||||
|
cell: 760-1234<br>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
|
||||||
AUSGABE:
|
<example>
|
||||||
|
<title>{foreach} - Beispiel mit Datenbankzugriff (z.B. PEAR oder ADODB)</title>
|
||||||
|
<programlisting role="php">
|
||||||
|
<![CDATA[
|
||||||
|
<?php
|
||||||
|
$sql = 'SELECT contact_id, name, nick FROM contacts ORDER BY contact';
|
||||||
|
$smarty->assign('kontakte', $db->getAssoc($sql));
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
{foreach key=cid item=con from=$kontakte}
|
||||||
|
<a href="kontact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br />
|
||||||
|
{/foreach}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
|
||||||
phone: 1<br>
|
<para>
|
||||||
fax: 2<br>
|
Foreach-Loops haben auch eigene Variablen welche die Foreach
|
||||||
cell: 3<br>
|
Eigenschaften enthalten. Diese werden wie folgt ausgewiesen:
|
||||||
phone: 555-4444<br>
|
{$smarty.foreach.foreachname.varname}. foreachname ist der Name der
|
||||||
fax: 555-3333<br>
|
als <emphasis>name</emphasis> Attribut von Foreach <20>bergeben wurden.
|
||||||
cell: 760-1234<br></programlisting>
|
</para>
|
||||||
</example>
|
|
||||||
|
|
||||||
<para>
|
<sect2 id="foreach.property.iteration">
|
||||||
Foreach-Loops haben auch eigene Variablen welche die Foreach Eigenschaften enthalten.
|
<title>iteration</title>
|
||||||
Diese werden wie folgt ausgewiesen: {$smarty.foreach.foreachname.varname}. foreachname
|
<para>
|
||||||
ist der Name der als <emphasis>name</emphasis> Attribut von Foreach übergeben wurden.
|
gibt die aktuelle iteration aus
|
||||||
</para>
|
</para>
|
||||||
<sect2 id="foreach.property.iteration">
|
<para>
|
||||||
<title>iteration</title>
|
iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert.
|
||||||
<para>
|
</para>
|
||||||
gibt die aktuelle iteration aus
|
</sect2>
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
iteration beginnt immer mit 1 und wird danach bei jedem durchgang um 1 inkrementiert.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="foreach.property.first">
|
<sect2 id="foreach.property.first">
|
||||||
<title>first</title>
|
<title>first</title>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>first</emphasis> ist TRUE wenn die aktuelle Iteration die erste ist
|
<emphasis>first</emphasis> ist TRUE wenn die aktuelle Iteration die erste ist
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
<sect2 id="foreach.property.last">
|
||||||
|
<title>last</title>
|
||||||
|
<para>
|
||||||
|
<emphasis>last</emphasis> ist TRUE wenn die aktuelle Iteration die letzte ist
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="foreach.property.last">
|
<sect2 id="foreach.property.show">
|
||||||
<title>last</title>
|
<title>show</title>
|
||||||
<para>
|
<para>
|
||||||
<emphasis>last</emphasis> ist TRUE wenn die aktuelle Iteration die letzte ist
|
<emphasis>show</emphasis> wird als Parameter von foreach verwedet
|
||||||
</para>
|
und ist ein boolscher Wert, TRUE oder FALSE. Auf FALSE wird nichts
|
||||||
</sect2>
|
ausgegeben und wenn foreachelse gefunden wird, dieser angezeigt.
|
||||||
|
</para>
|
||||||
<sect2 id="foreach.property.show">
|
</sect2>
|
||||||
<title>show</title>
|
|
||||||
<para>
|
|
||||||
<emphasis>show</emphasis> 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.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</sect2>
|
|
||||||
<sect2 id="foreach.property.total">
|
|
||||||
<title>total</title>
|
|
||||||
<para>
|
|
||||||
<emphasis>total</emphasis> gibt die Anzahl Iterationen des Foreach Loops aus und kann in- oder nach- Foreach Blöcken verwendet werden.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
|
<sect2 id="foreach.property.total">
|
||||||
|
<title>total</title>
|
||||||
|
<para>
|
||||||
|
<emphasis>total</emphasis> gibt die Anzahl Iterationen des Foreach
|
||||||
|
Loops aus und kann in- oder nach- Foreach Bl<42>cken verwendet werden.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
|
@@ -1,22 +1,146 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.if">
|
<sect1 id="language.function.if">
|
||||||
<title>if,elseif,else</title>
|
<title>if,elseif,else</title>
|
||||||
<para>
|
<para>
|
||||||
'if'-Statements in Smarty erlauben die selbe Flexibilität
|
<emphasis>{if}</emphasis>-Statements in Smarty erlauben die selbe
|
||||||
wie in PHP, bis auf ein paar Erweiterungen für die Template-Engine.
|
Flexibilit<69>t wie in PHP, bis auf ein paar Erweiterungen f<EFBFBD>r die
|
||||||
Jedes <emphasis>if</emphasis> muss mit einem <emphasis>/if</emphasis>
|
Template-Engine. Jedes <emphasis>{if}</emphasis> muss mit einem
|
||||||
kombiniert sein. <emphasis>else</emphasis> und <emphasis>elseif</emphasis>
|
<emphasis>{/if}</emphasis> kombiniert
|
||||||
sind ebenfalls erlaubt. "eq", "ne","neq","gt", "lt", "lte", "le", "gte" "ge",
|
sein. <emphasis>{else}</emphasis> und <emphasis>{elseif}</emphasis>
|
||||||
"is even","is odd", "is noteven","is not odd","not","mod","div by","even by",
|
sind ebenfalls erlaubt. Alle PHP Vergleichsoperatoren, wie
|
||||||
"odd by","==","!=",">", "<","<=",">=" sind alles erlaubte Bedingungen,
|
<emphasis>||</emphasis>, <emphasis>or</emphasis>,
|
||||||
und müssen von umgebenden Elementen mit Leerzeichen abgetrennt werden.
|
<emphasis>&&</emphasis>, <emphasis>and</emphasis>, etc. sind
|
||||||
</para>
|
erlaubt.
|
||||||
<example>
|
</para>
|
||||||
<title>if Anweisung</title>
|
<para>
|
||||||
<programlisting>
|
Hier eine Liste der erlaubten Operatoren. Bedingungsoperatoren
|
||||||
|
m<>ssen von umgebenden Elementen mit Leerzeichen abgetrennt werden.
|
||||||
|
PHP-<2D>quivalente sind, sofern vorhanden, angeben.
|
||||||
|
</para>
|
||||||
|
<informaltable frame="all">
|
||||||
|
<tgroup cols="5">
|
||||||
|
<colspec colname="Operator" align="center" />
|
||||||
|
<colspec colname="Alternativen" align="center" />
|
||||||
|
<colspec colname="Syntax Beispiel" />
|
||||||
|
<colspec colname="Bedeutung" />
|
||||||
|
<colspec colname="PHP <20>quivalent" />
|
||||||
|
<thead>
|
||||||
|
<row>
|
||||||
|
<entry>Operator</entry>
|
||||||
|
<entry>Alternativen</entry>
|
||||||
|
<entry>Syntax Beispiel</entry>
|
||||||
|
<entry>Bedeutung</entry>
|
||||||
|
<entry>PHP <20>quivalent</entry>
|
||||||
|
</row>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<row>
|
||||||
|
<entry>==</entry>
|
||||||
|
<entry>eq</entry>
|
||||||
|
<entry>$a eq $b</entry>
|
||||||
|
<entry>ist gleich</entry>
|
||||||
|
<entry>==</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>!=</entry>
|
||||||
|
<entry>ne, neq</entry>
|
||||||
|
<entry>$a neq $b</entry>
|
||||||
|
<entry>ist ungleich</entry>
|
||||||
|
<entry>!=</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>></entry>
|
||||||
|
<entry>gt</entry>
|
||||||
|
<entry>$a gt $b</entry>
|
||||||
|
<entry>gr<EFBFBD><EFBFBD>er als</entry>
|
||||||
|
<entry>></entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><</entry>
|
||||||
|
<entry>lt</entry>
|
||||||
|
<entry>$a lt $b</entry>
|
||||||
|
<entry>kleiner als</entry>
|
||||||
|
<entry><</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>>=</entry>
|
||||||
|
<entry>gte, ge</entry>
|
||||||
|
<entry>$a ge $b</entry>
|
||||||
|
<entry>gr<EFBFBD><EFBFBD>er oder gleich</entry>
|
||||||
|
<entry>>=</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry><=</entry>
|
||||||
|
<entry>lte, le</entry>
|
||||||
|
<entry>$a le $b</entry>
|
||||||
|
<entry>kleiner oder gleich</entry>
|
||||||
|
<entry><=</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>===</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a === 0</entry>
|
||||||
|
<entry>identisch</entry>
|
||||||
|
<entry>===</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>!</entry>
|
||||||
|
<entry>not</entry>
|
||||||
|
<entry>not $a</entry>
|
||||||
|
<entry>Negation</entry>
|
||||||
|
<entry>!</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>%</entry>
|
||||||
|
<entry>mod</entry>
|
||||||
|
<entry>$a mod $b</entry>
|
||||||
|
<entry>Modulo</entry>
|
||||||
|
<entry>%</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is [not] div by</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a is not div by 4</entry>
|
||||||
|
<entry>Ist [nicht] teilbar durch</entry>
|
||||||
|
<entry>$a % $b == 0</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is [not] even</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a is not even</entry>
|
||||||
|
<entry>ist [k]eine gerade Zahl</entry>
|
||||||
|
<entry>$a % 2 == 0</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is [not] even by</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a is [not] even by $b</entry>
|
||||||
|
<entry>[k]eine gerade Gruppierung</entry>
|
||||||
|
<entry>($a / $b) % 2 == 0</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is [not] odd</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a is not odd</entry>
|
||||||
|
<entry>ist [k]eine ungerade Zahl</entry>
|
||||||
|
<entry>$a % 2 != 0</entry>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<entry>is [not] odd by</entry>
|
||||||
|
<entry></entry>
|
||||||
|
<entry>$a is not odd by $b</entry>
|
||||||
|
<entry>[k]eine ungerade Gruppierung</entry>
|
||||||
|
<entry>($a / $b) % 2 != 0</entry>
|
||||||
|
</row>
|
||||||
|
</tbody>
|
||||||
|
</tgroup>
|
||||||
|
</informaltable>
|
||||||
|
<example>
|
||||||
|
<title>if Anweisung</title>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
{* ein Beispiel mit 'eq' (gleich) *}
|
{* ein Beispiel mit 'eq' (gleich) *}
|
||||||
{if $name eq "Fred"}
|
{if $name eq "Fred"}
|
||||||
Willkommen der Herr.
|
Willkommen der Herr.
|
||||||
@@ -45,12 +169,12 @@
|
|||||||
|
|
||||||
|
|
||||||
{* Klammern sind erlaubt *}
|
{* Klammern sind erlaubt *}
|
||||||
{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
|
{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
|
||||||
...
|
...
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
{* einbetten von php Funktionsaufrufen ('gt' steht für 'grösser als') *}
|
{* einbetten von php Funktionsaufrufen ('gt' steht f<EFBFBD>r 'gr<67>sser als') *}
|
||||||
{if count($var) gt 0}
|
{if count($var) gt 0}
|
||||||
...
|
...
|
||||||
{/if}
|
{/if}
|
||||||
@@ -83,7 +207,9 @@
|
|||||||
{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *}
|
{* 0=gerade, 1=gerade, 2=gerade, 3=ungerade, 4=ungerade, 5=ungerade, etc *}
|
||||||
{if $var is even by 3}
|
{if $var is even by 3}
|
||||||
...
|
...
|
||||||
{/if}</programlisting>
|
{/if}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
|
@@ -1,111 +1,120 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.include.php">
|
<sect1 id="language.function.include.php">
|
||||||
<title>include_php (PHP-Code einbinden)</title>
|
<title>include_php (PHP-Code einbinden)</title>
|
||||||
<informaltable frame="all">
|
<informaltable frame="all">
|
||||||
<tgroup cols="5">
|
<tgroup cols="5">
|
||||||
<colspec colname="param" align="center" />
|
<colspec colname="param" align="center" />
|
||||||
<colspec colname="type" align="center" />
|
<colspec colname="type" align="center" />
|
||||||
<colspec colname="required" align="center" />
|
<colspec colname="required" align="center" />
|
||||||
<colspec colname="default" align="center" />
|
<colspec colname="default" align="center" />
|
||||||
<colspec colname="desc" />
|
<colspec colname="desc" />
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Attribut Name</entry>
|
<entry>Attribut Name</entry>
|
||||||
<entry>Typ</entry>
|
<entry>Typ</entry>
|
||||||
<entry>Erforderlich</entry>
|
<entry>Erforderlich</entry>
|
||||||
<entry>Standardwert</entry>
|
<entry>Standardwert</entry>
|
||||||
<entry>Beschreibung</entry>
|
<entry>Beschreibung</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>file</entry>
|
<entry>file</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Ja</entry>
|
<entry>Ja</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Der Name der einzubindenden PHP-Datei.</entry>
|
<entry>Der Name der einzubindenden PHP-Datei.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>once</entry>
|
<entry>once</entry>
|
||||||
<entry>boolean</entry>
|
<entry>boolean</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>true</emphasis></entry>
|
<entry><emphasis>true</emphasis></entry>
|
||||||
<entry>Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.</entry>
|
<entry>Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>assign</entry>
|
<entry>assign</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.</entry>
|
<entry>Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
<para>
|
<para>
|
||||||
include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates
|
Die Verwendung von {include_php} wird nicht mehr empfohlen, die
|
||||||
einzubinden. Falls 'Sicherheit' aktiviert ist,
|
gleiche funktionalit<69>t kann auch mit <link
|
||||||
muss das einzubindende Skript im '$trusted_dir' Pfad liegen.
|
linkend="tips.componentized.templates">Template/Script
|
||||||
'include_php' muss das Attribut 'file' übergeben werden,
|
Komponenten</link> erreicht werden.
|
||||||
das den Pfad - entweder relativ zu '$trusted_dir' oder absolut -
|
</para>
|
||||||
zum Skript enthält.
|
<para>
|
||||||
</para>
|
Falls <link linkend="variable.security">Sicherheit</link> aktiviert
|
||||||
<para>
|
ist, muss das einzubindende Skript im <link
|
||||||
include_php ist ein einfacher Weg, um modularisierte Templates zu
|
linkend="variable.trusted.dir">$trusted_dir</link> Pfad
|
||||||
verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel
|
liegen. {include_php} muss das Attribut 'file' <20>bergeben werden, das
|
||||||
ein Template für die Seitennavigation, welche direkt
|
den Pfad - entweder relativ zu <link
|
||||||
aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht,
|
linkend="variable.trusted.dir">$trusted_dir</link> oder absolut -
|
||||||
können sie in einer eigenen Datei ablegen und am
|
zum Skript enth<74>lt.
|
||||||
Anfang Ihres Templates einbinden. Nun können Sie das Template
|
</para>
|
||||||
überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt
|
<para>
|
||||||
in die Navigationsstruktur gelangt.
|
Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen,
|
||||||
</para>
|
selbst wenn es mehrfach eingebunden wird. Sie k<>nnen dieses
|
||||||
<para>
|
Verhalten durch die Verwendung des <emphasis>once</emphasis>
|
||||||
Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen,
|
Attributs steuern. Wenn Sie 'once' auf 'false' setzen, wird die
|
||||||
selbst wenn es mehrfach eingebunden wird. Sie können dieses
|
Datei immer wenn sie eingebunden wird auch neu geladen.
|
||||||
Verhalten durch die Verwendung des <emphasis>once</emphasis> Attributs
|
</para>
|
||||||
steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer
|
<para>
|
||||||
wenn sie eingebunden wird auch neu geladen.
|
Optional kann das <emphasis>assign</emphasis> Attribut <20>bergeben
|
||||||
</para>
|
werden. Die Ausgabe von <emphasis>include_php</emphasis> wird dann
|
||||||
<para>
|
nicht direkt eingef<65>gt, sondern in der durch assign benannten
|
||||||
Optional kann das <emphasis>assign</emphasis> Attribut übergeben werden.
|
Template-Variable abgelegt.
|
||||||
Die Ausgabe von <emphasis>include_php</emphasis> wird dann nicht direkt eingefügt,
|
</para>
|
||||||
sondern in der durch assign benannten Template-Variable abgelegt.
|
<para>
|
||||||
</para>
|
Das Objekt '$smarty' kann in dem eingebundenen PHP-Script <20>ber
|
||||||
<para>
|
'$this' angesprochen werden.
|
||||||
Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden.
|
</para>
|
||||||
</para>
|
<example>
|
||||||
<example>
|
<title>Funktion include_php</title>
|
||||||
<title>Funktion include_php</title>
|
<para>lade_nav.php</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
lade_nav.php
|
<![CDATA[
|
||||||
-------------
|
<?php
|
||||||
|
|
||||||
<?php
|
// lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu
|
||||||
|
require_once("MySQL.class.php");
|
||||||
|
$sql = new MySQL;
|
||||||
// lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu
|
$sql->query("select * from site_nav_sections order by name",SQL_ALL);
|
||||||
require_once("MySQL.class.php");
|
$this->assign($sections,$sql->record);
|
||||||
$sql = new MySQL;
|
|
||||||
$sql->query("select * from site_nav_sections order by name",SQL_ALL);
|
|
||||||
$this->assign($sections,$sql->record);
|
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|
||||||
index.tpl
|
|
||||||
---------
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
Bei folgendem index.tpl:
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
{* absoluter Pfad, oder relativ zu '$trusted_dir' *}
|
{* absoluter Pfad, oder relativ zu '$trusted_dir' *}
|
||||||
{include_php file="/pfad/zu/lade_nav.php"}
|
{include_php file="/pfad/zu/lade_nav.php"}
|
||||||
|
|
||||||
{foreach item=$aktuelle_section from=$sections}
|
{foreach item=$aktuelle_section from=$sections}
|
||||||
<a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br>
|
<a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br>
|
||||||
{/foreach}</programlisting>
|
{/foreach}
|
||||||
</example>
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
<para>
|
||||||
|
Siehe auch <link
|
||||||
|
linkend="language.function.include">{include}</link>, <link
|
||||||
|
linkend="language.function.php">{php}</link>, <link
|
||||||
|
linkend="language.function.capture">{capture}</link>, <link
|
||||||
|
linkend="template.resources">Template Ressourcen</link> and <link
|
||||||
|
linkend="tips.componentized.templates">Template/Script
|
||||||
|
Komponenten</link>
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
|
@@ -1,104 +1,130 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- $Revision$ -->
|
<!-- $Revision$ -->
|
||||||
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
|
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
|
||||||
<sect1 id="language.function.include">
|
<sect1 id="language.function.include">
|
||||||
<title>include (einbinden)</title>
|
<title>include (einbinden)</title>
|
||||||
<informaltable frame="all">
|
<informaltable frame="all">
|
||||||
<tgroup cols="5">
|
<tgroup cols="5">
|
||||||
<colspec colname="param" align="center" />
|
<colspec colname="param" align="center" />
|
||||||
<colspec colname="type" align="center" />
|
<colspec colname="type" align="center" />
|
||||||
<colspec colname="required" align="center" />
|
<colspec colname="required" align="center" />
|
||||||
<colspec colname="default" align="center" />
|
<colspec colname="default" align="center" />
|
||||||
<colspec colname="desc" />
|
<colspec colname="desc" />
|
||||||
<thead>
|
<thead>
|
||||||
<row>
|
<row>
|
||||||
<entry>Attribut Name</entry>
|
<entry>Attribut Name</entry>
|
||||||
<entry>Typ</entry>
|
<entry>Typ</entry>
|
||||||
<entry>Erforderlich</entry>
|
<entry>Erforderlich</entry>
|
||||||
<entry>Standardwert</entry>
|
<entry>Standardwert</entry>
|
||||||
<entry>Beschreibung</entry>
|
<entry>Beschreibung</entry>
|
||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
<row>
|
||||||
<entry>file</entry>
|
<entry>file</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Ja</entry>
|
<entry>Ja</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Name der Template-Datei, die eingebunden werden soll.</entry>
|
<entry>Name der Template-Datei, die eingebunden werden soll.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>assign</entry>
|
<entry>assign</entry>
|
||||||
<entry>string</entry>
|
<entry>string</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Variable, welcher der eingebundene Inhalt zugewiesen werden soll.</entry>
|
<entry>Variable, welcher der eingebundene Inhalt zugewiesen werden soll.</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry>[var ...]</entry>
|
<entry>[var ...]</entry>
|
||||||
<entry>[var typ]</entry>
|
<entry>[var typ]</entry>
|
||||||
<entry>Nein</entry>
|
<entry>Nein</entry>
|
||||||
<entry><emphasis>n/a</emphasis></entry>
|
<entry><emphasis>n/a</emphasis></entry>
|
||||||
<entry>Variablen welche dem Template lokal übergeben werden sollen.</entry>
|
<entry>Variablen welche dem Template lokal <EFBFBD>bergeben werden sollen.</entry>
|
||||||
</row>
|
</row>
|
||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</informaltable>
|
</informaltable>
|
||||||
<para>
|
<para>
|
||||||
Include Tags werden verwendet, um andere Templates in das aktuelle Template einzubinden.
|
Include Tags werden verwendet, um andere Templates in das aktuelle
|
||||||
Alle Variablen des aktuellen Templates sind auch im eingebundenen Template verfügbar.
|
Template einzubinden. Alle Variablen des aktuellen Templates sind
|
||||||
Das include-Tag muss ein 'file' Attribut mit dem Pfad zum einzubindenden
|
auch im eingebundenen Template verf<72>gbar. Das include-Tag muss ein
|
||||||
Template enthalten.
|
'file' Attribut mit dem Pfad zum einzubindenden Template enthalten.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Optional kann mit dem <emphasis>assign</emphasis> Attribut definiert werden,
|
Optional kann mit dem <emphasis>assign</emphasis> Attribut definiert
|
||||||
in welcher Variable die Ausgabe des mit <emphasis>include</emphasis> eingebundenen
|
werden, in welcher Variable die Ausgabe des mit
|
||||||
Templates abgelegt werden soll statt sie auszugeben.
|
<emphasis>include</emphasis> eingebundenen Templates abgelegt werden
|
||||||
</para>
|
soll statt sie auszugeben.
|
||||||
<example>
|
</para>
|
||||||
<title>function include (einbinden)</title>
|
<example>
|
||||||
<programlisting>
|
<title>function include (einbinden)</title>
|
||||||
{include file="header.tpl"}
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>{$title}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{include file="page_header.tpl"}
|
||||||
|
|
||||||
{* hier kommt der body des Templates *}
|
{* hier kommt der body des Templates *}
|
||||||
|
{include file="/$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt
|
||||||
|
|
||||||
{include file="footer.tpl"}</programlisting>
|
{include file="page_footer.tpl"}
|
||||||
</example>
|
</body>
|
||||||
<para>
|
</html>
|
||||||
Sie können dem einzubindenden Template Variablen
|
]]>
|
||||||
als Attribute übergeben. Alle explizit übergebenen
|
</programlisting>
|
||||||
Variablen sind nur im Anwendungsbereich (scope) dieses Template
|
</example>
|
||||||
verfügbar. Attribut-Variablen überschreiben
|
<para>
|
||||||
aktuelle Template-Variablen, falls sie den gleichen Namen haben.
|
Sie k<>nnen dem einzubindenden Template Variablen als Attribute
|
||||||
</para>
|
<20>bergeben. Alle explizit <20>bergebenen Variablen sind nur im
|
||||||
<example>
|
Anwendungsbereich (scope) dieses Template
|
||||||
<title>include-Funktion und Variablen Übergabe</title>
|
verf<72>gbar. Attribut-Variablen <20>berschreiben aktuelle
|
||||||
<programlisting>
|
Template-Variablen, falls sie den gleichen Namen haben.
|
||||||
|
</para>
|
||||||
|
<example>
|
||||||
|
<title>include-Funktion und Variablen <20>bergabe</title>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"}
|
{include file="header.tpl" title="Hauptmenu" table_bgcolor="#c0c0c0"}
|
||||||
|
|
||||||
{* hier kommt der body des Templates *}
|
{* hier kommt der body des Templates *}
|
||||||
|
|
||||||
{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}</programlisting>
|
{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
|
||||||
</example>
|
]]>
|
||||||
<para>
|
</programlisting>
|
||||||
Benutzen sie die Syntax von <link linkend="template.resources">template resources</link>,
|
</example>
|
||||||
um Templates ausserhalb des '$template_dir' einzubinden:
|
<para>
|
||||||
</para>
|
Benutzen sie die Syntax von <link
|
||||||
<example>
|
linkend="template.resources">template resources</link>, um Templates
|
||||||
<title>Beispiele für Template-Ressourcen bei der 'include'-Funktion</title>
|
ausserhalb des '$template_dir' einzubinden:
|
||||||
<programlisting>
|
</para>
|
||||||
|
<example>
|
||||||
|
<title>Beispiele f<>r Template-Ressourcen bei der 'include'-Funktion</title>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
{* absoluter Dateipfad *}
|
{* absoluter Dateipfad *}
|
||||||
{include file="/usr/local/include/templates/header.tpl"}
|
{include file="/usr/local/include/templates/header.tpl"}
|
||||||
|
|
||||||
{* absoluter Dateipfad (gleich) *}
|
{* absoluter Dateipfad (gleich) *}
|
||||||
{include file="file:/usr/local/include/templates/header.tpl"}
|
{include file="file:/usr/local/include/templates/header.tpl"}
|
||||||
|
|
||||||
{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS übergeben werden) *}
|
{* absoluter Dateipfad unter Windows ("file:"-Prefix MUSS <EFBFBD>bergeben werden) *}
|
||||||
{include file="file:C:/www/pub/templates/header.tpl"}
|
{include file="file:C:/www/pub/templates/header.tpl"}
|
||||||
|
|
||||||
{* einbinden aus Template-Ressource namens 'db' *}
|
{* einbinden aus Template-Ressource namens 'db' *}
|
||||||
{include file="db:header.tpl"}</programlisting>
|
{include file="db:header.tpl"}
|
||||||
</example>
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
</example>
|
||||||
|
<para>
|
||||||
|
Siehe auch
|
||||||
|
<link linkend="language.function.include.php">{include_php}</link>,
|
||||||
|
<link linkend="language.function.php">{php}</link>,
|
||||||
|
<link linkend="template.resources">Template Ressourcen</link> und
|
||||||
|
<link linkend="tips.componentized.templates">Template/Skript Komponenten</link>.
|
||||||
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
|
Reference in New Issue
Block a user