add a new translated file and sync the two previous ones

This commit is contained in:
didou
2004-04-13 17:49:16 +00:00
parent bde87e3672
commit a8ed63e741
3 changed files with 140 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: didou Status: ready -->
<sect1 id="language.escaping">
<title>D<EFBFBD>sactiver l'analyse de Smarty</title>
<para>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: didou Status: ready -->
<sect1 id="language.math">
<title>Math<EFBFBD>matiques</title>
<para>

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.3 Maintainer: didou Status: ready -->
<sect1 id="caching.cacheable">
<title>Contr<EFBFBD>ler la mise en cache des sorties des Plugins</title>
<para>
Depuis Smarty-2.6.0, la mise en cache des plugins peut <20>tre d<>clar<61>e lors
de leur inscription. Les troisi<73>mes param<61>tres de register_block,
register_compiler_function et register_function sont appel<65>s
<parameter>$cacheable</parameter> et valent true par d<>faut, ce qui est
aussi le comportement par d<>faut des versions de Smarty pr<70>c<EFBFBD>dent la 2.6.0
</para>
<para>
Lors de l'inscription d'un plugin avec $cacheable=false, le plugin est
appel<65> <20> chaque fois que la page est affich<63>e, m<>me si la page vient du
cache. La fonction plugin se comporte presque comme la fonction
<link linkend="plugins.inserts">insert</link>.
</para>
<para>
Contrairement <20> <link linkend="language.function.insert">{insert}</link>
les attributs pour le plugin ne sont pas mis en cache par d<>faut. Cela peut
<20>tre le cas en utilisant le quatri<72>me param<61>tre
<parameter>$cache_attrs</parameter>. <parameter>$cache_attrs</parameter>
est un tableau de noms d'attributs qui doivent <20>tre mis en cache, pour que
la fonction plugin re<72>oive les valeurs telles qu'elles <20>taient d<>finies lorsque
la page a <20>t<EFBFBD> mise en cache, <20> chaque r<>cup<75>ration <20> partir du cache.
</para>
<example>
<title>Eviter la mise en cache du r<>sultat d'un plugin</title>
<programlisting role="php">
<![CDATA[
index.php:
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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<75>ration de $obj <20> partir de la page et assignation...
$smarty->assign_by_ref('obj', $obj);
}
$smarty->display('index.tpl');
?>
index.tpl:
Time Remaining: {remain endtime=$obj->endtime}
]]>
</programlisting>
<para>
Le nombre de secondes avant que la date de fin de $obj ne soit atteinte change
<20> 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'<27>tre extrait de la
base de donn<6E>es lors de la mise en cache de la page, mais pas lors des affichages
ult<6C>rieurs de la page.
</para>
</example>
<example>
<title>Eviter la mise en cache d'une portion du template</title>
<programlisting role="php">
<![CDATA[
index.php:
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->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}
]]>
</programlisting>
</example>
<para>
Lors du rechargement de la page, vous remarquerez que les deux dates sont diff<66>rentes.
L'une est "dynamique" et l'autre est "statique". Vous pouvez faire ce que vous voulez
entre {dynamic}...{/dynamic} et <20>tre s<>rs que cela ne sera pas mis en cache comme le
reste de la page.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->