Aus einem PHP-Skript zugewiesene Variablen Variablen die in einem PHP Skript assigned mit zugewiesen wurden, müssen mit eine Dollar Zeichen $ versehen werden. Auf die gleiche Art werden Variablen ausgegeben, die im Template mit {assign} zugewiesen wurden. zugewiesene Variablen PHP-Skript assign('vorname', 'Andreas'); $smarty->assign('nachname', 'Halter'); $smarty->assign('treffpunkt', 'New York'); $smarty->display('index.tpl'); ?> ]]> Mit folgendem index.tpl: {* 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. ]]> Ausgabe: Diese Woche findet das Treffen in statt. Diese Woche findet das Treffen in New York statt. ]]> Assoziative Arrays 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. Zugriff auf Variablen eines assoziativen Arrays 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'); ?> ]]> Bei folgender index.tpl: {$kontakte.email}
{* auch multidimensionale Arrays können so angesprochen werden *} {$kontakte.telefon.privat}
{$kontakte.telefon.mobil}
]]>
Ausgabe: zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
]]>
Array Index Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden. Zugriff über den Array Index assign('kontakte', array( '555-222-9876', 'zaphod@slartibartfast.example.com', array('555-444-3333', '555-111-1234') )); $smarty->display('index.tpl'); ?> ]]> Bei folgendem index.tpl: {$kontakte[1]}
{* auch hier sind multidimensionale Arrays möglich *} {$kontakte[0][0]}
{$kontakte[0][1]}
]]>
Ausgabe: zaphod@slartibartfast.example.com
555-444-3333
555-111-1234
]]>
Objekte Attribute von aus PHP zugewiesenen Objekten können über das '->'-Symbol erreicht werden. Zugriff auf Objekt-Attribute name}
email: {$person->email}
]]>
Ausgabe: email: zaphod@slartibartfast.example.com
]]>