{literal}{/literal}

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>