Variablen an Smarty übergeben
Variablen können an Smarty per "assign" übergeben werden, um sie später im Template anzeigen zu können. Dies sollte am besten vor der Template-Ausgabe erfolgen.
<?php require_once './smarty/Autoloader.php'; Smarty_Autoloader::register(); $smarty = new Smarty(); $vorname="Horst"; $nachname="Meyer"; $smarty->assign('vorname',$vorname); $smarty->assign('nachname',$nachname); $smarty->display('beispiel.html'); ?>
Der Variablenname, den Smarty später verwendet, könnte theoretisch vom in PHP verwendeten Namen abweichen, daher wird bei assign zunächst der Name für Smarty angegeben und dann der Name der PHP-Variable. Es ist jedoch ratsam, diesen wie im Beispiel identisch zu wählen.
Das Template könnte dann z.B. wie folgt aussehen:
<html> <body> <h1>Smarty-Test!</h1> Mein Vorname lautet {$vorname}, mein Nachname lautet {$nachname}. </body> </html>
Wenn im HTML-Code stellen folgen, an denen Smarty Aufrufe-erfolgen werden, sind diese in geschweifte Klammern zu setzen. Um eine Variable auszugeben genügt dann einfach {$variablenname}.