Désactiver l'analyse de Smarty
Il est quelques fois utile, voir nécessaire, de demander à Smarty d'ignorer
certaines sections que seraient analysées sinon. Un exemple classique est
l'incorporation de code Javascript ou CSS dans les templates. Le problème
est que ces langages utilisent les caractères { et }, qui sont aussi les
délimiteurs Smarty par défaut.
Le plus simple pour éviter une telle situation est de placer vos codes
Javascript et CSS dans des fichiers séparés, puis d'utiliser les méthodes
standards HTML pour y accéder.
Inclure du contenu tel quel est possible en utilisant les blocs {literal} .. {/literal}.
Similairement à l'utilisation d'entités HTML, vous pouvez utiliser {ldelim} et {rdelim}, ou {$smarty.ldelim} et {$smarty.rdelim} pour
afficher les délimiteurs.
Il est souvent plus simple de modifier les délimiteurs de Smarty : $left_delimiter et
$right_delimiter.
Exemple de changement de délimiteur
left_delimiter = '';
$smarty->assign('foo', 'bar');
$smarty->display('example.tpl');
?>
]]>
Ou example.tpl est:
var foo = ;
function dosomething() {
alert("foo = " + foo);
}
dosomething();
]]>