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:
Vous pouvez faire des groupements plus élaborés en paramétrant les
groupes de $cache_id
. Il suffit de séparer chaque sous-groupe
avec une barre verticale |
dans la valeur de $cache_id
.
Vous pouvez faire autant de sous-groupes que vous le désirez.
Vous pouvez voir les groupes de cache comme une hiérarchie de dossiers.
Par exemple, un groupe de cache 'a|b|c'
peut être considéré comme
la hiérarchie de dossiers '/a/b/c/'
.
clear_cache(null,'a|b|c')
supprimera les fichiers
'/a/b/c/*'
. clear_cache(null,'a|b')
supprimera les fichiers '/a/b/*'
.
Si vous spécifiez un
$compile_id
de cette façon clear_cache(null,'a|b','foo')
il sera traité comme un groupe de
cache apposé '/a/b/c/foo/'
.
Si vous spécifiez un nom de template de cette façon
clear_cache('foo.tpl','a|b|c')
alors Smarty tentera d'effacer
'/a/b/c/foo.tpl'
.
Vous ne POUVEZ PAS effacer un nom de template spécifié sous un groupe de
cache multiple comme '/a/b/*/foo.tpl'
, le groupement de cache fonctionne
UNIQUEMENT de gauche à droite. Vous pourriez vouloir grouper vos templates
sous un groupe de cache simple hiérarchisé pour être capable de les effacer
comme un groupe.
Le groupement de cache ne devrait pas être confondu avec votre hiérarchie
de dossiers de templates, le groupement de cache n'a aucune connaissance
de la façon dont vos templates sont structurés. Donc, par exemple, si
vous avez une structure de template comme themes/blue/index.tpl
et
que vous voulez être capable d'effacer tous les fichiers de cache pour le thème “blue”,
vous devriez créer une structure de groupe de cache qui reflète la structure
de fichiers de vos templates, comme display('themes/blue/index.tpl','themes|blue')
,
et les effacer avec clear_cache(null,'themes|blue')
.
Example 14.9. Groupes d'identifiants de cache
<?php require('Smarty.class.php'); $smarty = new Smarty; $smarty->caching = true; // efface tous les fichiers de cache avec "sports|basketball" comme premiers // groupes d'identifiants de cache $smarty->clear_cache(null,'sports|basketball'); // efface tous les fichiers de cache "sports" comme premier groupe d'identifiants. // Inclue donc "sports|basketball" ou "sports|nimportequoi|nimportequoi|..." $smarty->clear_cache(null,'sports'); $smarty->display('index.tpl','sports|basketball'); ?>