Manuel Smarty
Contrôler la mise en cache des sorties des Plugins
Depuis Smarty-2.6.0, la mise en cache des plugins peut être déclarée lors de leur inscription. Les troisièmes paramètres de register_block(), register_compiler_function() et register_function() sont appelés $cacheable et valent TRUE par défaut, ce qui est aussi le comportement par défaut des versions de Smarty précédent la 2.6.0
Lors de l'inscription d'un plugin avec $cacheable=false, le plugin est appelé à chaque fois que la page est affichée, même si la page vient du cache. La fonction plugin se comporte presque comme la fonction {insert}.
Contrairement à {insert} les attributs pour le plugin ne sont pas mis en cache par défaut. Celà peut être le cas en utilisant le quatrième paramètre $cache_attrs. $cache_attrs est un tableau de noms d'attributs qui doivent être mis en cache, pour que la fonction plugin reçoive les valeurs telles qu'elles étaient définies lorsque la page a été mise en cache, à chaque récupération à partir du cache.
|
Exemple 14-10. Eviter la mise en cache du résultat d'un plugin
Où index.tpl contient :
Le nombre de secondes avant que la date de fin de $obj ne soit atteinte change à chaque affichage de la page, même si la page est mise en cache. Comme l'attribut endtime est mis en cache, il n'y a que l'objet qui ait besoin d'être extrait de la base de données lors de la mise en cache de la page, mais pas lors des affichages ultérieurs de la page. |
Lors du rechargement de la page, vous remarquerez que les deux dates sont différentes. L'une est << dynamic >> et l'autre est << static >>. Vous pouvez faire ce que vous voulez entre {dynamic}...{/dynamic} et être sûrs que cela ne sera pas mis en cache comme le reste de la page.
Remonter 
