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} <script language=javascript> <!-- function isblank(field) { if (field.value == '') { return false; } else { document.loginform.submit(); return true; } } // --> </script> {/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 ... }