From a8ed63e74151af3ad11cb4d7aabc94056f1c9a00 Mon Sep 17 00:00:00 2001 From: didou Date: Tue, 13 Apr 2004 17:49:16 +0000 Subject: [PATCH] add a new translated file and sync the two previous ones --- .../language-escaping.xml | 1 + .../language-basic-syntax/language-math.xml | 1 + .../programmers/caching/caching-cacheable.xml | 138 ++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 docs/fr/programmers/caching/caching-cacheable.xml diff --git a/docs/fr/designers/language-basic-syntax/language-escaping.xml b/docs/fr/designers/language-basic-syntax/language-escaping.xml index 8354301c..a409e125 100644 --- a/docs/fr/designers/language-basic-syntax/language-escaping.xml +++ b/docs/fr/designers/language-basic-syntax/language-escaping.xml @@ -1,5 +1,6 @@ + Désactiver l'analyse de Smarty diff --git a/docs/fr/designers/language-basic-syntax/language-math.xml b/docs/fr/designers/language-basic-syntax/language-math.xml index 8fc3ecdc..1045fc42 100644 --- a/docs/fr/designers/language-basic-syntax/language-math.xml +++ b/docs/fr/designers/language-basic-syntax/language-math.xml @@ -1,5 +1,6 @@ + Mathématiques diff --git a/docs/fr/programmers/caching/caching-cacheable.xml b/docs/fr/programmers/caching/caching-cacheable.xml new file mode 100644 index 00000000..3de1ffed --- /dev/null +++ b/docs/fr/programmers/caching/caching-cacheable.xml @@ -0,0 +1,138 @@ + + + + + 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. Cela 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. + + + + Eviter la mise en cache du résultat d'un plugin + +caching = true; + +function remaining_seconds($params, &$smarty) { + $remain = $params['endtime'] - time(); + if ($remain >=0) + return $remain . " second(s)"; + else + return "done"; +} + +$smarty->register_function('remaining', 'remaining_seconds', false, array('endtime')); + +if (!$smarty->is_cached('index.tpl')) { + // récupération de $obj à partir de la page et assignation... + $smarty->assign_by_ref('obj', $obj); +} + +$smarty->display('index.tpl'); +?> + + +index.tpl: + +Time Remaining: {remain endtime=$obj->endtime} +]]> + + + 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. + + + + + Eviter la mise en cache d'une portion du template + +caching = true; + +function smarty_block_dynamic($param, $content, &$smarty) { + return $content; +} +$smarty->register_block('dynamic', 'smarty_block_dynamic', false); + +$smarty->display('index.tpl'); +?> + + +index.tpl: + +Page created: {"0"|date_format:"%D %H:%M:%S"} + +{dynamic} + +Now is: {"0"|date_format:"%D %H:%M:%S"} + +... do other stuff ... + +{/dynamic} +]]> + + + + + Lors du rechargement de la page, vous remarquerez que les deux dates sont différentes. + L'une est "dynamique" et l'autre est "statique". 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. + + + + +