==== JavaScript / JS ====
=== literal ===
{literal}-Tags erlauben es, einen Block wörtlich auszugeben, d.h. von der Interpretation durch Smarty auszuschliessen. Dies ist vor allem für Javascript- oder andere Blöcke nützlich, die geschwungene Klammern verwenden. Alles was zwischen den {literal}{/literal} Tags steht, wird direkt angezeigt. Wenn in einem {literal}-Block temlate-Tags verwendet werden sollen, is es manchmal sinnvoller {ldelim}{rdelim} statt {literal} zu verwenden.
{literal}
{/literal}
=== ldelim,rdelim ===
(Ausgabe der Trennzeichen) ldelim und rdelim werden verwendet, um die Trennzeichen auszugeben - in unserem Fall "{" oder "}" - ohne dass Smarty versucht, sie zu interpretieren. Um text im Template vor dem Interpretieren zu schützen kann auch {literal}{/literal} verwendet werden. Siehe auch {$smarty.ldelim}.
ldelim, rdelim
{* gibt die konfigurierten Trennzeichen des Templates aus *}
{ldelim}funktionsname{rdelim} Funktionen sehen in Smarty so aus!
Das obige Beispiel ergibt als Ausgabe:
{funktionsname} Funktionen sehen in Smarty so aus!
\\
\\
Ein weiteres Beispiel (diesmal mit javascript)
function foo() {ldelim}
... code ...
{rdelim}
Ausgabe:
function foo() {
... code ...
}