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}.