What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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}
pour afficher les délimiteurs.
Il est souvent plus simple de modifier les délimiteurs de Smarty :
$left_delimiter
et
$right_delimiter
.
Example 3.8. Exemple de changement de délimiteur
<?php $smarty->left_delimiter = '<!--{'; $smarty->right_delimiter = '}-->'; $smarty->assign('foo', 'bar'); $smarty->assign('name', 'Albert'); $smarty->display('example.tpl'); ?>
Où le template est:
Bienvenue <!--{$name}--> sur Smarty <script language="javascript"> var foo = <!--{$foo}-->; function dosomething() { alert("foo = " + foo); } dosomething(); </script>