Files
smarty/docs/de/designers/language-variables/language-assigned-variables.xml
2005-12-09 19:50:41 +00:00

202 lines
4.7 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- 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 <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>
<![CDATA[
Hallo {$vorname} {$nachname}, schö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.
{* aber das hier funktioniert: *}
Diese Woche findet das Treffen in {$treffpunkt} statt.
]]>
</programlisting>
<para>
Ausgabe:
</para>
<screen>
<![CDATA[
Hallo Andreas Halter, schö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önnen auch auf die Werte eines in PHP zugewiesenen
assoziativen Arrays zugreifen, indem Sie den Schlüssel (Indexwert)
nach einem '.'-Zeichen (Punkt) notieren.
</para>
<example>
<title>Zugriff auf Variablen eines assoziativen Arrays</title>
<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önnen - ähnlich der PHP-Syntax - auch über ihren Index
angesprochen werden.
</para>
<example>
<title>Zugriff ü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>
<![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önnen über
das '-&gt;'-Symbol erreicht werden.
</para>
<example>
<title>Zugriff auf Objekt-Attribute</title>
<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>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->