Evitare il parsing di Smarty
A volte è desiderabile o necessario che Smarty ignori sezioni che altrimenti
verrebbero analizzate. Un esempio tipico è l'incorporazione di codice Javascript
o CSS in un template. Il problema nasce dal fatto che questi linguaggi utilizzano
i caratteri { e } che per Smarty sono i delimitatori di default.
La cosa più semplice sarebbe evitare queste situazioni tenendo il codice Javascript
e CSS separato in appositi file e usando i collegamenti standard dell'HTML per
recuperarli.
E' possibile includere contenuto letterale usando blocchi di questo tipo:
{literal} .. {/literal}.
Potete anche usare, in modo simile alle entità HTML, {ldelim},{rdelim} oppure {$smarty.ldelim},{$smarty.rdelim}
per visualizzare i delimitatori senza che Smarty ne analizzi il contenuto.
Spesso risulta semplicemente conveniente cambiare il $left_delimiter ed il
$right_delimiter di Smarty.
esempio di cambio dei delimitatori
left_delimiter = '';
$smarty->assign('foo', 'bar');
$smarty->display('example.tpl');
?>
]]>
Dove example.tpl è:
var foo = ;
function dosomething() {
alert("foo is " + foo);
}
dosomething();
]]>