Smarty Parsing umgehen
Manchmal ist es wünschenswert, dass Smarty Teile eines Templates nicht
parst. Dies ist zum Beispiel der Fall, wenn Javascript oder CSS im Template eingebettet werden.
Da diese Sprachen selbst { und } nutzen, erkennt Smarty diese als Start- beziehungsweise End-Tags.
Der einfachste Weg, dieses Problem zu umgehen, ist das Auslagern des betreffenden Javascript
oder CSS Codes in eigene Dateien.
Um solche Inhalte trotzdem im gleichen Template einzubetten, können Sie {literal} .. {/literal} Blöcke verwenden.
Die aktuell benutzten Trennzeichen können Sie mit {ldelim} und {rdelim} ausgeben.
Manchmal ist es auch einfacher, die Trennzeichen selbst zu ändern:
$left_delimiter und
$right_delimiter definieren diese.
Beispiel wie die Trennzeichen angepasst werden
left_delimiter = '';
$smarty->assign('foo', 'bar');
$smarty->display('example.tpl');
?>
]]>
example.tpl würde somit wie folgt aussehen:
var foo = ;
function dosomething() {
alert("foo is " + foo);
}
dosomething();
]]>