sync with en

This commit is contained in:
messju
2005-06-23 18:56:00 +00:00
parent c765bf7377
commit 40e9b14b19
6 changed files with 778 additions and 517 deletions

View File

@@ -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&ouml;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 &uuml;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
&uuml;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&ouml;cke k&ouml;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 ""}
&lt;tr&gt; <table>
&lt;td&gt; <tr>
{$smarty.capture.banner} <td>
&lt;/td&gt; {$smarty.capture.banner}
&lt;/tr&gt; </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:

View File

@@ -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&auml;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&auml;nglich sind. Definiert, ob die Variablen von allen Templates aus zug<EFBFBD>nglich
Dieses Attribut wird von 'scope' abgel&ouml;st und sollte nicht mehr sind. WICHTIG: Dieses Attribut wird von 'scope' abgel<EFBFBD>st und
verwendet werden. Falls 'scope' &uuml;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&uuml;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&ouml;nnen Abschnitte enthalten. Um Variablen <link linkend="config.files">Konfigurationsdateien</link> k<>nnen
aus einem Abschnitt zu laden, k&ouml;nnen Sie das Attribut Abschnitte enthalten. Um Variablen aus einem Abschnitt zu laden,
<emphasis>section</emphasis> &uuml;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:

View File

@@ -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&uuml;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&uuml;r den aktuellen Schl&uuml;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&uuml;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&uuml;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&ouml;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&uuml;hrt wenn
keine Werte in der <emphasis>from</emphasis> Variable &uuml;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}&lt;br&gt; 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&lt;br&gt; <programlisting role="php">
id: 1001&lt;br&gt; <![CDATA[
id: 1002&lt;br&gt;</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&uuml;ssel enth&auml;lt den Schl&uuml;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" =&gt; "1", "fax" =&gt; "2", "cell" =&gt; "3"), ));
array("phone" =&gt; "555-4444", "fax" =&gt; "555-3333", "cell" =&gt; "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}&lt;br&gt; {$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&lt;br&gt; <para>
fax: 2&lt;br&gt; Foreach-Loops haben auch eigene Variablen welche die Foreach
cell: 3&lt;br&gt; Eigenschaften enthalten. Diese werden wie folgt ausgewiesen:
phone: 555-4444&lt;br&gt; {$smarty.foreach.foreachname.varname}. foreachname ist der Name der
fax: 555-3333&lt;br&gt; als <emphasis>name</emphasis> Attribut von Foreach <20>bergeben wurden.
cell: 760-1234&lt;br&gt;</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 &uuml;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&ouml;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:

View File

@@ -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&auml;t <emphasis>{if}</emphasis>-Statements in Smarty erlauben die selbe
wie in PHP, bis auf ein paar Erweiterungen f&uuml;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","==","!=","&gt;", "&lt;","&lt;=","&gt;=" sind alles erlaubte Bedingungen, <emphasis>||</emphasis>, <emphasis>or</emphasis>,
und m&uuml;ssen von umgebenden Elementen mit Leerzeichen abgetrennt werden. <emphasis>&amp;&amp;</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>&gt;</entry>
<entry>gt</entry>
<entry>$a gt $b</entry>
<entry>gr<EFBFBD><EFBFBD>er als</entry>
<entry>&gt;</entry>
</row>
<row>
<entry>&lt;</entry>
<entry>lt</entry>
<entry>$a lt $b</entry>
<entry>kleiner als</entry>
<entry>&lt;</entry>
</row>
<row>
<entry>&gt;=</entry>
<entry>gte, ge</entry>
<entry>$a ge $b</entry>
<entry>gr<EFBFBD><EFBFBD>er oder gleich</entry>
<entry>&gt;=</entry>
</row>
<row>
<entry>&lt;=</entry>
<entry>lte, le</entry>
<entry>$a le $b</entry>
<entry>kleiner oder gleich</entry>
<entry>&lt;=</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 &lt; 0 or $anzahl &gt; 1000 ) and $menge &gt;= #minMengeAmt#} {if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
... ...
{/if} {/if}
{* einbetten von php Funktionsaufrufen ('gt' steht f&uuml;r 'gr&ouml;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

View 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' &uuml;bergeben werden, Komponenten</link> erreicht werden.
das den Pfad - entweder relativ zu '$trusted_dir' oder absolut - </para>
zum Skript enth&auml;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&uuml;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&ouml;nnen sie in einer eigenen Datei ablegen und am zum Skript enth<74>lt.
Anfang Ihres Templates einbinden. Nun k&ouml;nnen Sie das Template </para>
&uuml;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&ouml;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 &uuml;bergeben werden. Template-Variable abgelegt.
Die Ausgabe von <emphasis>include_php</emphasis> wird dann nicht direkt eingef&uuml;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 &uuml;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
&lt;?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);
?&gt;
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}
&lt;a href="{$aktuelle_section.url}"&gt;{$aktuelle_section.name}&lt;/a&gt;&lt;br&gt; <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:

View File

@@ -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 &uuml;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&uuml;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&ouml;nnen dem einzubindenden Template Variablen ]]>
als Attribute &uuml;bergeben. Alle explizit &uuml;bergebenen </programlisting>
Variablen sind nur im Anwendungsbereich (scope) dieses Template </example>
verf&uuml;gbar. Attribut-Variablen &uuml;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 &Uuml;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&uuml;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 &uuml;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: