sync with en

This commit is contained in:
messju
2005-12-09 19:50:41 +00:00
parent 01220d7500
commit 0c9e1c3f69
11 changed files with 352 additions and 193 deletions

View File

@@ -1,8 +1,19 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.10 Maintainer: andreas Status: ready -->
<sect1 id="language.function.capture">
<title>capture (Ausgabe abfangen)</title>
<title>{capture} (Ausgabe abfangen)</title>
<para>
{capture} wird verwendet, um die Template-Ausgabe abzufangen und in
einer Variable zu speichern. Der Inhalt zwischen {capture
name="foo"} und {/capture} wird unter der im 'name' Attribut
angegebenen Capture-Variablen abgelegt und kann <20>ber <link
linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
angesprochen werden. Falls kein 'name'-Attribut <20>bergeben wurde,
wird der Inhalt in 'default' (also $smarty.capture.default)
abgelegt. Jede {capture} Sektion muss mit {/capture} beendet
werden. {capture}-Bl<42>cke k<>nnen verschachtelt sein.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -37,25 +48,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
'capture' wird verwendet, um die Template-Ausgabe abzufangen und in
einer Variable zu speichern. Der Inhalt zwischen {capture
name="foo"} und {/capture} wird unter der im 'name' Attribut
angegebenen Capture-Variablen abgelegt und kann <20>ber <link
linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
angesprochen werden. Falls kein 'name'-Attribut <20>bergeben wurde,
wird der Inhalt in 'default' (also $smarty.capture.default)
abgelegt. Jede {capture} Sektion muss mit {/capture} beendet
werden. 'capture'-Bl<42>cke k<>nnen verschachtelt sein.
</para>
<note>
<title>Technische Bemerkung</title>
<para>
Smarty 1.4.0 - 1.4.4 speicherte den abgefangenen Inhalt in der
Variable '$return'. Seit 1.4.5 wird das 'name'-Attribut verwenden.
Bitte passen Sie Ihre Templates entsprechend an.
</para>
</note>
<caution>
<para>
Seien Sie vorsichtig, wenn sie die Ausgabe von <link
@@ -74,7 +66,7 @@
{* Tabellenzeile nur ausgeben, wenn Inhalt vorhanden *}
{capture name=banner}
{include file="get_banner.tpl"}
{include file='get_banner.tpl'}
{/capture}
{if $smarty.capture.banner ne ""}
<table>
@@ -88,6 +80,31 @@
]]>
</programlisting>
</example>
<example>
<title>Template-Inhalte abfangen</title>
<para>
Hier ist ein Beispiel das das Zusammenspiel mit der Funktion <link
linkend="language.function.popup">{popup}</link> demonstriert.
</para>
<programlisting>
<![CDATA[
{capture name=some_content assign=popText}
.... some content ....
{/capture}
<a href="#" {popup caption='Help' text=$popText}>help</a>
]]>
</programlisting>
</example>
</para>
<para>
Siehe auch:
<link
linkend="language.variables.smarty.capture">$smarty.capture</link>,
<link linkend="language.function.eval">{eval}</link>,
<link linkend="language.function.fetch">{fetch}</link>,
<link linkend="api.fetch">fetch()</link>
and <link linkend="language.function.assign">{assign}</link>.
</para>
</sect1>
<!-- Keep this comment at the end of the file

View File

@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.9 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.11 Maintainer: andreas Status: ready -->
<sect1 id="language.function.config.load">
<title>config_load (Konfiguration laden)</title>
<title>{config_load} (Konfiguration laden)</title>
<para>
Diese Funktion wird verwendet, um <link
linkend="language.config.variables">Variablen aus einer
Konfigurationsdatei</link> in das Template zu laden. Sehen sie
<link linkend="config.files">Config Files
(Konfigurationsdateien)</link> f<>r weitere Informationen.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -64,15 +71,8 @@
</tbody>
</tgroup>
</informaltable>
<para>
Diese Funktion wird verwendet, um <link
linkend="language.config.variables">Variablen aus einer
Konfigurationsdatei</link> in das Template zu laden. Sehen sie
<link linkend="config.files">Config Files
(Konfigurationsdateien)</link> f<>r weitere Informationen.
</para>
<example>
<title>Funktion config_load</title>
<title>Funktion {config_load}</title>
<para>
beispiel.conf
</para>
@@ -94,7 +94,7 @@ seitenTitel = "Kundeninfo"
<para>and the template</para>
<programlisting>
<![CDATA[
{config_load file="example.conf"}
{config_load file='example.conf'}
<html>
<title>{#seitenTitel#}</title>
@@ -124,7 +124,7 @@ seitenTitel = "Kundeninfo"
</para>
<example>
<title>Funktion config_load mit Abschnitten</title>
<title>Funktion {config_load} mit Abschnitten</title>
<programlisting>
<![CDATA[
{config_load file="beispiel.conf" section="Kunde"}
@@ -143,7 +143,11 @@ seitenTitel = "Kundeninfo"
]]>
</programlisting>
</example>
<para>
Siehe <link
linkend="variable.config.overwrite">$config_overwrite</link>
bez<65>glich Arrays von Konfigurationsvariablen.
</para>
<para>
Siehe auch <link
linkend="config.files">Konfigurationsdateien</link>, <link

View File

@@ -1,8 +1,29 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<sect1 id="language.function.foreach">
<title>{foreach}, {foreachelse}</title>
<para>
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>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -51,28 +72,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
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">

View File

@@ -1,18 +1,25 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<sect1 id="language.function.if">
<title>if,elseif,else</title>
<title>{if},{elseif},{else}</title>
<para>
<emphasis>{if}</emphasis>-Statements in Smarty erlauben die selbe
Flexibilit<69>t wie in PHP, bis auf ein paar Erweiterungen f<>r die
Template-Engine. Jedes <emphasis>{if}</emphasis> muss mit einem
<emphasis>{/if}</emphasis> kombiniert
sein. <emphasis>{else}</emphasis> und <emphasis>{elseif}</emphasis>
sind ebenfalls erlaubt. Alle PHP Vergleichsoperatoren, wie
sind ebenfalls erlaubt. Alle PHP Vergleichsoperatoren und Funktionen, wie
<emphasis>||</emphasis>, <emphasis>or</emphasis>,
<emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>, etc. sind
erlaubt.
<emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>,
<emphasis>is_array()</emphasis>, etc. sind erlaubt.
</para>
<para>
Wenn <link linkend="variable.security">$security</link> angeschaltet
wurde, dann m<>ssen alle verwendeten PHP-Funktionen im
<emphasis>IF_FUNCS</emphasis>-Array in dem <link
linkend="variable.security.settings">$security_settings</link>-Array
deklariert werden.
</para>
<para>
Hier eine Liste der erlaubten Operatoren. Bedingungsoperatoren
@@ -160,14 +167,15 @@
...
{/if}
{* die foldende Syntax ist nicht korrekt, da die Elemente welche die
Bedingung umfassen nicht mit Leerzeichen abgetrennt sind*}
{*
die foldende Syntax ist nicht korrekt, da die Elemente welche die
Bedingung umfassen nicht mit Leerzeichen abgetrennt sind
*}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* Klammern sind erlaubt *}
{if ( $anzahl < 0 or $anzahl > 1000 ) and $menge >= #minMengeAmt#}
...
@@ -179,6 +187,17 @@
...
{/if}
{* Auf "ist array" <20>berpr<70>fen. *}
{if is_array($foo) }
.....
{/if}
{* Auf "ist nicht null" <20>berpr<70>fen. *}
{if isset($foo) }
.....
{/if}
{* testen ob eine Zahl gerade (even) oder ungerade (odd) ist *}
{if $var is even}

View File

@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.9 Maintainer: andreas Status: ready -->
<sect1 id="language.function.include.php">
<title>include_php (PHP-Code einbinden)</title>
<para>
Die Verwendung von {include_php} wird nicht mehr empfohlen, die
gleiche funktionalit<69>t kann auch mit <link
linkend="tips.componentized.templates">Template/Script
Komponenten</link> erreicht werden.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -44,12 +50,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
Die Verwendung von {include_php} wird nicht mehr empfohlen, die
gleiche funktionalit<69>t kann auch mit <link
linkend="tips.componentized.templates">Template/Script
Komponenten</link> erreicht werden.
</para>
<para>
Falls <link linkend="variable.security">Sicherheit</link> aktiviert
ist, muss das einzubindende Skript im <link

View File

@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.9 Maintainer: andreas Status: ready -->
<sect1 id="language.function.include">
<title>include (einbinden)</title>
<para>
{include}-Tags werden verwendet, um andere Templates in das aktuelle
Template einzubinden. Alle Variablen des aktuellen Templates sind
auch im eingebundenen Template verf<72>gbar. Das {include}-Tag muss ein
'file' Attribut mit dem Pfad zum einzubindenden Template enthalten.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -44,12 +50,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
Include Tags werden verwendet, um andere Templates in das aktuelle
Template einzubinden. Alle Variablen des aktuellen Templates sind
auch im eingebundenen Template verf<72>gbar. Das include-Tag muss ein
'file' Attribut mit dem Pfad zum einzubindenden Template enthalten.
</para>
<para>
Optional kann mit dem <emphasis>assign</emphasis> Attribut definiert
werden, in welcher Variable die Ausgabe des mit
@@ -65,12 +65,12 @@
<title>{$title}</title>
</head>
<body>
{include file="page_header.tpl"}
{include file='page_header.tpl'}
{* hier kommt der body des Templates *}
{include file="/$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt
{include file="$tpl_name.tpl"} <-- $tpl_name wird durch eine Wert ersetzt
{include file="page_footer.tpl"}
{include file='page_footer.tpl'}
</body>
</html>
]]>
@@ -87,11 +87,11 @@
<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 *}
{include file="footer.tpl" logo="http://my.domain.com/logo.gif"}
{include file='footer.tpl' logo='http://my.domain.com/logo.gif'}
]]>
</programlisting>
</example>
@@ -105,16 +105,24 @@
<programlisting>
<![CDATA[
{* absoluter Dateipfad *}
{include file="/usr/local/include/templates/header.tpl"}
{include file='/usr/local/include/templates/header.tpl'}
{* 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 <20>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' *}
{include file="db:header.tpl"}
{include file='db:header.tpl'}
{* einbinden eines Variablen Templates - z.B. $module = 'contacts' *}
{include file="$module.tpl"}
{*
Dies hier Funktioniert nicht, da Variablen innerhalb einfacher
Anf<6E>hrungszeichen nicht interpoliert werden.
*}
{include file='$module.tpl'}
]]>
</programlisting>
</example>

View File

@@ -3,6 +3,13 @@
<!-- EN-Revision: 1.5 Maintainer: andreas Status: ready -->
<sect1 id="language.function.insert">
<title>insert (einf<6E>gen)</title>
<para>
{insert}-Tags funktionieren <20>hnlich den <link
linkend="language.function.include">{include}</link>-Tags, werden
aber nicht gecached, falls <link linkend="caching">caching</link>
eingeschaltet ist. Sie werden bei jedem Aufruf des Templates
ausgef<65>hrt.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -51,13 +58,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
{insert}-Tags funktionieren <20>hnlich den <link
linkend="language.function.include">{include}</link>-Tags, werden
aber nicht gecached, falls <link linkend="caching">caching</link>
eingeschaltet ist. Sie werden bei jedem Aufruf des Templates
ausgef<65>hrt.
</para>
<para>
Stellen Sie sich vor, sie h<>tten ein Template mit einem
Werbebanner. Dieser Banner kann verschiedene Arten von Inhalten

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.7 Maintainer: andreas Status: ready -->
<sect1 id="language.function.php">
<title>php</title>
<para>
@@ -16,7 +16,7 @@
<![CDATA[
{php}
// php Skript direkt von Template einbinden
include("/pfad/zu/zeige_weather.php");
include('/pfad/zu/zeige_weather.php');
{/php}
]]>
</programlisting>
@@ -31,6 +31,19 @@
im Kontext der method des laufenden $smarty-Objektes.
</para>
</note>
<example>
<title>{php} mit Verwendung von global</title>
<programlisting role="php">
<![CDATA[
{php}
global $foo, $bar;
if($foo == $bar){
// tue irgendwas
}
{/php}
]]>
</programlisting>
</example>
<para>
Siehe auch <link
linkend="variable.php.handling">$php_handling</link>, <link

View File

@@ -1,8 +1,26 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.13 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.14 Maintainer: andreas Status: ready -->
<sect1 id="language.function.section">
<title>section,sectionelse</title>
<para>
Template-{sections} werden verwendet, um durch <emphasis
role="bold">Arrays</emphasis> zu iterieren (<28>hnlich wie <link
linkend="language.function.foreach">{foreach}</link>). Jedes
<emphasis>section</emphasis>-Tag muss mit einem
<emphasis>/section</emphasis>-Tag kombiniert
werden. <emphasis>name</emphasis> und <emphasis>loop</emphasis> sind
erforderliche Parameter. Der Name der 'section' kann frei gew<65>hlt
werden, muss jedoch aus Buchstaben, Zahlen oder Unterstrichen
bestehen. {sections} k<>nnen verschachtelt werden. Dabei ist zu
beachten, dass sich ihre Namen unterscheiden. Aus der
'loop'-Variable (normalerweise ein Array von Werten) resultiert die
Anzahl der Iterationen, die durchlaufen werden. Wenn ein Wert aus
der 'loop'-Variable innerhalb der {section} ausgegeben werden soll,
muss der 'section-name' umschlossen mit [] angef<65>gt werden.
<emphasis>sectionelse</emphasis> wird ausgef<65>hrt, wenn keine Werte
in der 'loop'-Variable enthalten sind.
</para>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
@@ -76,24 +94,6 @@
</tbody>
</tgroup>
</informaltable>
<para>
Template-{sections} werden verwendet, um durch <emphasis
role="bold">Arrays</emphasis> zu iterieren (<28>hnlich wie <link
linkend="language.function.foreach">{foreach}</link>). Jedes
<emphasis>section</emphasis>-Tag muss mit einem
<emphasis>/section</emphasis>-Tag kombiniert
werden. <emphasis>name</emphasis> und <emphasis>loop</emphasis> sind
erforderliche Parameter. Der Name der 'section' kann frei gew<65>hlt
werden, muss jedoch aus Buchstaben, Zahlen oder Unterstrichen
bestehen. {sections} k<>nnen verschachtelt werden. Dabei ist zu
beachten, dass sich ihre Namen unterscheiden. Aus der
'loop'-Variable (normalerweise ein Array von Werten) resultiert die
Anzahl der Iterationen, die durchlaufen werden. Wenn ein Wert aus
der 'loop'-Variable innerhalb der {section} ausgegeben werden soll,
muss der 'section-name' umschlossen mit [] angef<65>gt werden.
<emphasis>sectionelse</emphasis> wird ausgef<65>hrt, wenn keine Werte
in der 'loop'-Variable enthalten sind.
</para>
<example>
<title>section</title>
<programlisting role="php">

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: andreas Status: ready -->
<sect1 id="language.function.strip">
<title>strip</title>
<para>
@@ -32,7 +32,7 @@
<table border=0>
<tr>
<td>
<a HREF="{$url}">
<a href="{$url}">
<font color="red">Das ist ein Test.</font>
</a>
</td>
@@ -46,7 +46,7 @@
</para>
<screen>
<![CDATA[
<table border=0><tr><td><A HREF="http://my.domain.com"><font color="red">Das ist ein Test.</font></A></td></tr></table>
<table border=0><tr><td><a href="http://my.domain.com"><font color="red">Das ist ein Test.</font></a></td></tr></table>
]]>
</screen>
</example>

View File

@@ -1,82 +1,181 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: andreas Status: ready -->
<!-- EN-Revision: 1.7 Maintainer: andreas Status: ready -->
<sect1 id="language.assigned.variables">
<title>Aus einem PHP-Skript zugewiesene Variablen</title>
<para>
Variablen die in einem PHP Skript zugewiesen wurden, m&uuml;ssen mit eine Dollar Zeichen <literal>$</literal>
versehen werden.
Variablen die in einem PHP Skript <link
linkend="api.assign">assigned</link> mit zugewiesen wurden, m<>ssen
mit eine Dollar Zeichen <literal>$</literal> versehen werden. Auf
die gleiche Art werden Variablen ausgegeben, die im Template mit <link
linkend="language.function.assign">{assign}</link> zugewiesen
wurden.
</para>
<example>
<title>zugewiesene Variablen</title>
<para>PHP-Skript</para>
<programlisting role="php">
<![CDATA[
<?php
$smarty = new Smarty;
$smarty->assign('vorname', 'Andreas');
$smarty->assign('nachname', 'Halter');
$smarty->assign('treffpunkt', 'New York');
$smarty->display('index.tpl');
?>
]]>
</programlisting>
<para>
Mit folgendem index.tpl:
</para>
<programlisting>
Hallo {$vorname}, sch&ouml;n dass Du wieder da bist.
&lt;p&gt;
Letzer zugriff: {$lastLoginDate}.
<![CDATA[
Hallo {$vorname} {$nachname}, sch<63>n, dass Du es einrichten kannst.
<br />
{*
das hier funktioniert nicht, da bei Variablennamen auf
Gross-Kleinschreibung geachtet werden muss:
*}
Diese Woche findet das Treffen in {$treffPunkt} statt.
AUSGABE:
Hallo Andreas, sch&ouml;n dass Du wieder da bist.
&lt;p&gt;
Letzer Zugriff: January 11th, 2001.</programlisting>
{* aber das hier funktioniert: *}
Diese Woche findet das Treffen in {$treffpunkt} statt.
]]>
</programlisting>
<para>
Ausgabe:
</para>
<screen>
<![CDATA[
Hallo Andreas Halter, sch<63>n, dass Du es einrichten kannst.
<br />
Diese Woche findet das Treffen in statt.
Diese Woche findet das Treffen in New York statt.
]]>
</screen>
</example>
<sect2 id="language.variables.assoc.arrays">
<title>Assoziative Arrays</title>
<para>
Sie k&ouml;nnen auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen,
indem Sie den Schl&uuml;ssel nach einem '.'-Zeichen (Punkt) notieren.
Sie k<EFBFBD>nnen auch auf die Werte eines in PHP zugewiesenen
assoziativen Arrays zugreifen, indem Sie den Schl<68>ssel (Indexwert)
nach einem '.'-Zeichen (Punkt) notieren.
</para>
<example>
<title>Zugriff auf Variablen eines assoziativen Arrays</title>
<programlisting>
{$Kontakte.fax}&lt;br&gt;
{$Kontakte.email}&lt;br&gt;
{* auch multidimensionale Arrays k&ouml;nnen so angesprochen werden *}
{$Kontakte.telefon.privat}&lt;br&gt;
{$Kontakte.telefon.mobil}&lt;br&gt;
AUSGABE:
555-222-9876&lt;br&gt;
zaphod@slartibartfast.com&lt;br&gt;
555-444-3333&lt;br&gt;
555-111-1234&lt;br&gt;
<programlisting role="php">
<![CDATA[
<?php
$smarty->assign('kontakte',
array('fax' => '555-222-9876',
'email' => 'zaphod@slartibartfast.example.com',
'telefon' => array('privat' => '555-444-3333',
'mobil' => '555-111-1234')
)
);
$smarty->display('index.tpl');
?>
]]>
</programlisting>
<para>
Bei folgender index.tpl:
</para>
<programlisting>
<![CDATA[
{$kontakte.fax}<br />
{$kontakte.email}<br />
{* auch multidimensionale Arrays k<>nnen so angesprochen werden *}
{$kontakte.telefon.privat}<br />
{$kontakte.telefon.mobil}<br />
]]>
</programlisting>
<para>
Ausgabe:
</para>
<screen>
<![CDATA[
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />
]]>
</screen>
</example>
</sect2>
<sect2 id="language.variables.array.indexes">
<title>Array Index</title>
<para>
Arrays k&ouml;nnen - &auml;hnlich der PHP-Syntax - auch &uuml;ber ihren Index angesprochen werden.
Arrays k<EFBFBD>nnen - <20>hnlich der PHP-Syntax - auch <EFBFBD>ber ihren Index
angesprochen werden.
</para>
<example>
<title>Zugriff &uuml;ber den Array Index</title>
<title>Zugriff <EFBFBD>ber den Array Index</title>
<programlisting role="php">
<![CDATA[
<?php
$smarty->assign('kontakte', array(
'555-222-9876',
'zaphod@slartibartfast.example.com',
array('555-444-3333',
'555-111-1234')
));
$smarty->display('index.tpl');
?>
]]>
</programlisting>
<para>
Bei folgendem index.tpl:
</para>
<programlisting>
{$Kontakte[0]}&lt;br&gt;
{$Kontakte[1]}&lt;br&gt;
{* auch hier sind multidimensionale Arrays m&ouml;glich *}
{$Kontakte[0][0]}&lt;br&gt;
{$Kontakte[0][1]}&lt;br&gt;</programlisting>
<![CDATA[
{$kontakte[0]}<br />
{$kontakte[1]}<br />
{* auch hier sind multidimensionale Arrays m<>glich *}
{$kontakte[0][0]}<br />
{$kontakte[0][1]}<br />
]]>
</programlisting>
<para>
Ausgabe:
</para>
<screen>
<![CDATA[
555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />
]]>
</screen>
</example>
</sect2>
<sect2 id="language.variables.objects">
<title>Objekte</title>
<para>
Attribute von aus PHP zugewiesenen Objekten k&ouml;nnen
&uuml;ber das '-&gt;'-Symbol erreicht werden.
Attribute von aus PHP zugewiesenen Objekten k<EFBFBD>nnen <20>ber
das '-&gt;'-Symbol erreicht werden.
</para>
<example>
<title>Zugriff auf Objekt-Attribute</title>
<programlisting>
name: {$person-&gt;name}&lt;br&gt;
email: {$person-&gt;email}&lt;br&gt;
AUSGABE:
name: Zaphod Beeblebrox&lt;br&gt;
email: zaphod@slartibartfast.com&lt;br&gt;</programlisting>
<![CDATA[
name: {$person->name}<br />
email: {$person->email}<br />
]]>
</programlisting>
<para>
Ausgabe:
</para>
<screen>
<![CDATA[
name: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.example.com<br />
]]>
</screen>
</example>
</sect2>
</sect1>