Mit Hilfe von <em>{literal}{/literal}</em>
können Sie Bereiche des Templates von der Interpretation durch Smarty ausschließen. Smarty ignoriert damit alles, was zwischen {literal}
und {/literal}
steht. Dies ist vor allem für Javascript oder andere Blöcke nützlich, die geschwungene Klammern verwenden (Ohne den {literal}
-Block würde Smarty versuchen die geschweiften Klammern der Javascript-Funktion zu interpretieren, was zu einem Fehler führen würde).
{literal}
<script>
function meineFunktion() {
alert("ALARM!!");
}
</script>
{/literal}
{ldelim}{rdelim}
Alternativ zu den {literal}{/literal}
-Blöcken können ebenfalls {ldelim}{rdelim}
-Blöcke verwendet werden. Die Alternative muss an der Stelle von geschweiften Klammern gesetzt werden, damit diese nicht als Funktionsaufruf erkannt werden. Dieser Block kann einige {literal}{/literal}
-Blöcke sparen, wenn man weiß wie man damit umzugehen hat.
<script>
function meineFunktion() {ldelim}
alert("ALARM!!");
{rdelim}
</script>