Variablen Templatevariablennamen beginnen mit einem $dollar-Zeichen. Sie können Ziffer, Buchstaben und Unterstriche ('_') enthalten, sehr ähnlich den Variablen in PHP. Numerische Arrayindizes können referenziert werden und auch Nichtnumerische. Zugriff auf Objekteigenschaften und -methoden ist auch möglich. Konfigurationsvariablen sind einer Ausname was die Dollarzeichen-Syntax angeht. Diese werden durch umgebende #Doppelkreuze# oder über die Varible $smarty.config referenziert. Variablen bar} <-- Zeigt eine Eigenschaft "bar" des Objekts $foo an {$foo->bar()} <-- Zeigt den Rückgabewert der Objectmethode "bar" an {#foo#} <-- Zeift die Konfigurationsvariable "foo" an {$smarty.config.foo} <-- Synonym für {#foo#} {$foo[bar]} <-- Syntax zum zugriff auf Element in einer Section-Schleife, siehe {section} {assign var=foo value="baa"}{$foo} <-- Gibt "baa" aus, siehe {assign} Viele weitere Kombinationen sind erlaubt {$foo.bar.baz} {$foo.$bar.$baz} {$foo[4].baz} {$foo[4].$baz} {$foo.bar.baz[4]} {$foo->bar($baz,2,$bar)} <-- Parameter übergeben {"foo"} <-- Statische (konstante) Werte sind auch erlaubt ]]> Siehe auch: Die reservierte {$smarty} Variable und Verwendung von Variablen aus Konfigurationsdateien.