sync with EN

This commit is contained in:
yannick
2006-10-07 12:05:26 +00:00
parent 1c80cd9cc8
commit f4629a1aef
6 changed files with 113 additions and 70 deletions

View File

@@ -1,18 +1,28 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.objects"> <sect1 id="advanced.features.objects">
<title>Objets</title> <title>Objets</title>
<para> <para>
Smarty donne l'acc<63>s aux <ulink url="&url.php-manual;object">objets</ulink> Smarty donne l'acc<63>s aux <ulink url="&url.php-manual;object">objets</ulink>
PHP <20> travers les templates. Il y a 2 moyens d'y avoir acc<63>s. Le premier consiste <20> PHP <20> travers les templates. Il y a 2 moyens d'y avoir acc<63>s.
</para>
<itemizedlist spacing="compact">
<listitem><para>
Le premier consiste <20>
<link linkend="api.register.object">allouer les objets</link> <link linkend="api.register.object">allouer les objets</link>
au template puis de les utiliser avec une syntaxe similaire a celles au template puis de les utiliser avec une syntaxe similaire a celles
des <link linkend="language.custom.functions">fonctions personnalis<69>es</link>. des <link linkend="language.custom.functions">fonctions personnalis<69>es</link>.
</para></listitem>
<listitem><para>
Le deuxi<78>me moyen consiste <20> <link linkend="api.assign">assigner</link> des objets Le deuxi<78>me moyen consiste <20> <link linkend="api.assign">assigner</link> des objets
aux templates et de les utiliser comme n'importe quelle aux templates et de les utiliser comme n'importe quelle
variable. La premi<6D>re m<>thode a une syntaxe beaucoup plus sympathique. variable.
</para></listitem>
</itemizedlist>
<para>
La premi<6D>re m<>thode a une syntaxe beaucoup plus sympathique.
Elle est aussi plus s<>curis<69>e, puisqu'un objet allou<6F> ne peut avoir acc<63>s Elle est aussi plus s<>curis<69>e, puisqu'un objet allou<6F> ne peut avoir acc<63>s
qu'a certaines m<>thodes et propri<72>t<EFBFBD>s. N<>anmoins, qu'a certaines m<>thodes et propri<72>t<EFBFBD>s. N<>anmoins,
<emphasis role="bold">un objet allou<6F> ne peut pas avoir de lien sur lui-m<>me <emphasis role="bold">un objet allou<6F> ne peut pas avoir de lien sur lui-m<>me
@@ -39,7 +49,7 @@
Le premier param<61>tre correspond <20> un tableau associatif, le second <20> l'objet Le premier param<61>tre correspond <20> un tableau associatif, le second <20> l'objet
Smarty. Si vous souhaitez que les param<61>tres soient pass<73>s un <20> un, comme Smarty. Si vous souhaitez que les param<61>tres soient pass<73>s un <20> un, comme
dans un appel traditionnel, d<>finissez registration, quatri<72>me param<61>tre optionnel, dans un appel traditionnel, d<>finissez registration, quatri<72>me param<61>tre optionnel,
<20> false. <20> &false;.
</para> </para>
<para> <para>
Le cinqui<75>me param<61>tre optionnel n'a d'effet que si le param<61>tre Le cinqui<75>me param<61>tre optionnel n'a d'effet que si le param<61>tre
@@ -87,7 +97,7 @@ $smarty->display('index.tpl');
]]> ]]>
</programlisting> </programlisting>
<para> <para>
Et voici comment acc<63>der <20> vos objets dans index.tpl: Et voici comment acc<63>der <20> vos objets dans <filename>index.tpl</filename> :
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
@@ -105,8 +115,8 @@ the output was {$output)
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="api.register.object">register_object()</link> et <link linkend="api.register.object"><varname>register_object()</varname></link> et
<link linkend="api.assign">assign()</link>. <link linkend="api.assign"><varname>assign()</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.outputfilters"> <sect1 id="advanced.features.outputfilters">
<title>Filtres de sortie</title> <title>Filtres de sortie</title>
<para> <para>
Quand le template est appel<65> via les fonctions Quand le template est appel<65> via les fonctions
<link linkend="api.display">display()</link> ou <link linkend="api.display"><varname>display()</varname></link> ou
<link linkend="api.fetch">fetch()</link>, <link linkend="api.fetch"><varname>fetch()</varname></link>,
sa sortie est envoy<6F>e <20> travers un ou plusieurs filtres de sorties. sa sortie est envoy<6F>e <20> travers un ou plusieurs filtres de sorties.
Ils diff<66>rent des <link linkend="advanced.features.postfilters">filtres Ils diff<66>rent des <link linkend="advanced.features.postfilters">filtres
de post-compilation</link> dans le sens o<> ils agissent sur la sortie de post-compilation</link> dans le sens o<> ils agissent sur la sortie
@@ -19,9 +19,9 @@
<link linkend="api.register.outputfilter">d<EFBFBD>clar<EFBFBD>s</link> soit <link linkend="api.register.outputfilter">d<EFBFBD>clar<EFBFBD>s</link> soit
charg<72>s depuis les <link linkend="variable.plugins.dir">r<EFBFBD>pertoires charg<72>s depuis les <link linkend="variable.plugins.dir">r<EFBFBD>pertoires
des plugins</link> en utilisant la fonction des plugins</link> en utilisant la fonction
<link linkend="api.load.filter">load_filter()</link> <link linkend="api.load.filter"><varname>load_filter()</varname></link>
ou en r<>glant la variable ou en r<>glant la variable
<link linkend="variable.autoload.filters">$autoload_filters</link>. <link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>.
Smarty passera la sortie du template en premier argument et attendra Smarty passera la sortie du template en premier argument et attendra
de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution. de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution.
</para> </para>
@@ -51,11 +51,11 @@ $smarty->display('index.tpl');
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="api.register.outputfilter">register_outpurfilter()</link>, <link linkend="api.register.outputfilter"><varname>register_outpurfilter()</varname></link>,
<link linkend="api.load.filter">load_filter()</link>, <link linkend="api.load.filter"><varname>load_filter()</varname></link>,
<link linkend="variable.autoload.filters">$autoload_filters</link>, <link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>,
les <link linkend="advanced.features.postfilters">filtres de post-compilation</link> et les <link linkend="advanced.features.postfilters">filtres de post-compilation</link> et
<link linkend="variable.plugins.dir">$plugins_dir</link>. <link linkend="variable.plugins.dir"><parameter>$plugins_dir</parameter></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.7 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.postfilters"> <sect1 id="advanced.features.postfilters">
<title>Filtres de post-compilation</title> <title>Filtres de post-compilation</title>
<para> <para>
Les filtres de post-compilation sont des fonctions PHP que vos templates Les filtres de post-compilation sont des fonctions PHP que vos templates
ex<65>cutent apr<70>s avoir <20>t<EFBFBD> compil<69>s. Les filtres de post-compilation peuvent ex<65>cutent <emphasis>apr<EFBFBD>s avoir <20>t<EFBFBD> compil<69>s</emphasis>. Les filtres de post-compilation
<20>tre soit <link linkend="api.register.postfilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s peuvent <20>tre soit <link linkend="api.register.postfilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s
depuis les <link linkend="variable.plugins.dir">r<EFBFBD>pertoires des plugins</link> depuis les <link linkend="variable.plugins.dir">r<EFBFBD>pertoires des plugins</link>
en utilisant la fonction <link linkend="api.load.filter">load_filter()</link> ou en r<>glant en utilisant la fonction
la variable <link linkend="variable.autoload.filters">$autoload_filters</link>. <link linkend="api.load.filter"><varname>load_filter()</varname></link> ou en r<>glant
la variable
<link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>.
Smarty passera le template compil<69> en tant que premier param<61>tre et attendra Smarty passera le template compil<69> en tant que premier param<61>tre et attendra
de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution. de la fonction qu'elle retourne le r<>sultat de l'ex<65>cution.
</para> </para>
@@ -32,7 +34,7 @@ $smarty->display('index.tpl');
]]> ]]>
</programlisting> </programlisting>
<para> <para>
Votre template Smarty index.tpl ressemblera, apr<70>s compilation <20> : Votre template Smarty <filename>index.tpl</filename> ressemblera, apr<70>s compilation <20> :
</para> </para>
<screen> <screen>
<![CDATA[ <![CDATA[
@@ -43,9 +45,9 @@ $smarty->display('index.tpl');
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="api.register.postfilter">register_postfilter()</link>, <link linkend="api.register.postfilter"><varname>register_postfilter()</varname></link>,
<link linkend="advanced.features.prefilters">les pr<70>-filtres</link> et <link linkend="advanced.features.prefilters">les pr<70>-filtres</link> et
<link linkend="api.load.filter">load_filter()</link>. <link linkend="api.load.filter"><varname>load_filter()</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.prefilters"> <sect1 id="advanced.features.prefilters">
<title>Filtres de pr<70>-compilation</title> <title>Filtres de pr<70>-compilation</title>
<para> <para>
Les filtres de pr<70>-compilation sont des fonctions PHP que vos templates Les filtres de pr<70>-compilation sont des fonctions PHP que vos templates
ex<65>cutent avant qu'ils ne soient compil<69>s. Cel<65> peut <20>tre utile ex<65>cutent <emphasis>avant qu'ils ne soient compil<69>s</emphasis>. Cel<65> peut <20>tre utile
pour pr<70>-traiter vos templates afin d'enlever les commentaires pour pr<70>-traiter vos templates afin d'enlever les commentaires
inutiles, garder un oeil sur ce que les gens mettent dans leurs templates, etc. inutiles, garder un oeil sur ce que les gens mettent dans leurs templates, etc.
</para> </para>
@@ -14,9 +14,9 @@
Les filtre de pr<70>-compilations peuvent <20>tre soit Les filtre de pr<70>-compilations peuvent <20>tre soit
<link linkend="api.register.prefilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s <link linkend="api.register.prefilter">d<EFBFBD>clar<EFBFBD>s</link>, soit charg<72>s
<20> partir des <link linkend="variable.plugins.dir">r<EFBFBD>pertoires de plugins</link> <20> partir des <link linkend="variable.plugins.dir">r<EFBFBD>pertoires de plugins</link>
en utilisant la fonction <link linkend="api.load.filter">load_filter()</link> ou en utilisant la fonction <link linkend="api.load.filter"><varname>load_filter()</varname></link> ou
en r<>glant la variable en r<>glant la variable
<link linkend="variable.autoload.filters">$autoload_filters</link>. <link linkend="variable.autoload.filters"><parameter>$autoload_filters</parameter></link>.
</para> </para>
<para> <para>
Smarty passera <20> la fonction le code source en tant que premier argument, Smarty passera <20> la fonction le code source en tant que premier argument,
@@ -45,9 +45,9 @@ $smarty->display('index.tpl');
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="api.register.prefilter">register_prefilter()</link>, <link linkend="api.register.prefilter"><varname>register_prefilter()</varname></link>,
les <link linkend="advanced.features.postfilters">post-filtres</link> et les <link linkend="advanced.features.postfilters">post-filtres</link> et
<link linkend="api.load.filter">load_filter()</link>. <link linkend="api.load.filter"><varname>load_filter()</varname></link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.5 Maintainer: gerald Status: ready -->
<sect1 id="section.template.cache.handler.func"> <sect1 id="section.template.cache.handler.func">
<title>Fonction de gestion du cache</title> <title>Fonction de gestion du cache</title>
<para> <para>
@@ -14,25 +15,53 @@
fonction <20> la variable de classe fonction <20> la variable de classe
<link linkend="variable.cache.handler.func">$cache_handler_func</link>. <link linkend="variable.cache.handler.func">$cache_handler_func</link>.
Smarty utilisera alors cette fonction pour g<>rer les donn<6E>es du cache. Smarty utilisera alors cette fonction pour g<>rer les donn<6E>es du cache.
Le premier argument est l'action, qui sera 'read', 'write' ou 'clear'.
Le second param<61>tre est l'objet Smarty. Le troisi<73>me est le contenu
du cache. Pour <20>crire, Smarty passe le contenu du cache dans ces param<61>tres.
Pour lire, Smarty s'attend <20> ce que votre fonction accepte ce param<61>tre
par r<>f<EFBFBD>rence et que vous le remplissiez avec les donn<6E>es du cache. Pour effacer,
il suffit de passer une variable fictive car cette derni<6E>re n'est pas utilis<69>e.
Le quatri<72>me param<61>tre est le nom du fichier de template (utile pour
lire/<2F>crire), le cinqui<75>me param<61>tre est l'identifiant de cache (optionnel)
et le sixi<78>me est l'identifiant de compilation (optionnel).
</para>
<para>
Note: Le dernier param<61>tre ($exp_time) a <20>t<EFBFBD> ajout<75> dans Smarty-2.6.0.
</para> </para>
<itemizedlist>
<listitem><para>
Le premier argument est l'action, qui sera <literal>read</literal>, <literal>write</literal> and
<literal>clear</literal>.
</para></listitem>
<listitem><para>
Le second param<61>tre est l'objet Smarty.
</para></listitem>
<listitem><para>
Le troisi<73>me est le contenu
du cache. Pour <20>crire, Smarty passe le contenu du cache dans ces param<61>tres.
Pour lire, Smarty s'attend <20> ce que votre fonction accepte ce param<61>tre
par r<>f<EFBFBD>rence et que vous le remplissiez avec les donn<6E>es du cache. Pour effacer,
il suffit de passer une variable fictive car cette derni<6E>re n'est pas utilis<69>e.
</para></listitem>
<listitem><para>
Le quatri<72>me param<61>tre est le nom du fichier de template (utile pour
lire/<2F>crire).
</para></listitem>
<listitem><para>
Le cinqui<75>me param<61>tre est l'identifiant <parameter>$cache_id</parameter>.
</para></listitem>
<listitem><para>
Le sixi<78>me est l'identifiant optionnel <link linkend="variable.compile.id">
<parameter>$compile_id</parameter></link>.
</para></listitem>
<listitem><para>
Le septi<74>me et dernier param<61>tre <parameter>$exp_time</parameter>
a <20>t<EFBFBD> ajout<75> dans Smarty-2.6.0.
</para></listitem>
</itemizedlist>
<example> <example>
<title>Exemple d'utilisation de MySQL pour la source du cache</title> <title>Exemple d'utilisation de MySQL pour la source du cache</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
/* /*****
exemple d'usage : exemple d'usage :
@@ -54,7 +83,7 @@ CacheID char(32) PRIMARY KEY,
CacheContents MEDIUMTEXT NOT NULL CacheContents MEDIUMTEXT NOT NULL
); );
*/ *****/
function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null) function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null)
{ {

View File

@@ -1,27 +1,29 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
<sect1 id="template.resources"> <sect1 id="template.resources">
<title>Ressources</title> <title>Ressources</title>
<para> <para>
Les templates peuvent provenir d'une grande vari<72>t<EFBFBD> de ressources. Quand vous Les templates peuvent provenir d'une grande vari<72>t<EFBFBD> de ressources. Quand vous
affichez (<link linkend="api.display">display()</link>) ou affichez (<link linkend="api.display"><varname>display()</varname></link>) ou
r<>cup<75>rez (<link linkend="api.fetch">fetch()</link>) un template, ou quand vous incluez un template r<>cup<75>rez (<link linkend="api.fetch"><varname>fetch()</varname></link>) un
dans un autre template, vous fournissez un type de ressource, suivi template, ou quand vous incluez un template dans un autre template, vous fournissez
par le chemin appropri<72> et le nom du template. Si une ressource n'est pas un type de ressource, suivi par le chemin appropri<72> et le nom du template.
explicitement donn<6E>e, la valeur de la variable <link Si une ressource n'est pas explicitement donn<6E>e, la valeur de la variable <link
linkend="variable.default.resource.type">$default_resource_type</link> linkend="variable.default.resource.type"><parameter>$default_resource_type</parameter></link>
sera utilis<69>e. sera utilis<69>e.
</para> </para>
<sect2 id="templates.from.template.dir"> <sect2 id="templates.from.template.dir">
<title>Templates depuis $template_dir</title> <title>Templates depuis $template_dir</title>
<para> <para>
Les templates du r<>pertoire Les templates du r<>pertoire
<link linkend="variable.template.dir">$template_dir</link> n'ont pas <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link> n'ont pas
besoin d'une ressource template, bien que vous puissiez utiliser besoin d'une ressource template, bien que vous puissiez utiliser
la ressource "file" pour <20>tre coh<6F>rent. Vous n'avez qu'<27> fournir la ressource "file" pour <20>tre coh<6F>rent. Vous n'avez qu'<27> fournir
le chemin vers le template que vous voulez utiliser, relatif le chemin vers le template que vous voulez utiliser, relatif
au r<>pertoire racine <link linkend="variable.template.dir">$template_dir</link>. au r<>pertoire racine
<link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>.
</para> </para>
<example> <example>
<title>Utilisation de templates depuis $template_dir</title> <title>Utilisation de templates depuis $template_dir</title>
@@ -44,8 +46,8 @@ $smarty->display("file:admin/menu.tpl"); // le m
<title>Templates <20> partir de n'importe quel r<>pertoire</title> <title>Templates <20> partir de n'importe quel r<>pertoire</title>
<para> <para>
Les templates en-dehors du r<>pertoire Les templates en-dehors du r<>pertoire
<link linkend="variable.template.dir">$template_dir</link> n<>cessitent <link linkend="variable.template.dir"><parameter>$template_dir</parameter></link>
le type de ressource template, suivi du chemin absolu et du nom du n<EFBFBD>cessitent le type de ressource template, suivi du chemin absolu et du nom du
template. template.
</para> </para>
<example> <example>
@@ -53,8 +55,8 @@ $smarty->display("file:admin/menu.tpl"); // le m
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
$smarty->display("file:/export/templates/index.tpl"); $smarty->display('file:/export/templates/index.tpl');
$smarty->display("file:/path/to/my/templates/menu.tpl"); $smarty->display('file:/path/to/my/templates/menu.tpl');
?> ?>
]]> ]]>
</programlisting> </programlisting>
@@ -63,7 +65,7 @@ $smarty->display("file:/path/to/my/templates/menu.tpl");
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{include file="file:/usr/local/share/templates/navigation.tpl"} {include file='file:/usr/local/share/templates/navigation.tpl'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
@@ -73,7 +75,7 @@ $smarty->display("file:/path/to/my/templates/menu.tpl");
<para> <para>
Si vous utilisez Windows, les chemins de fichiers sont la plupart Si vous utilisez Windows, les chemins de fichiers sont la plupart
du temps sur un disque identifi<66> par une lettre (c:) au d<>but du chemin. du temps sur un disque identifi<66> par une lettre (c:) au d<>but du chemin.
Assurez-vous de bien mettre "file:" dans le chemin pour <20>viter des Assurez-vous de bien mettre <literal>file:</literal> dans le chemin pour <20>viter des
conflits d'espace de noms et obtenir les r<>sultats escompt<70>s. conflits d'espace de noms et obtenir les r<>sultats escompt<70>s.
</para> </para>
<example> <example>
@@ -81,8 +83,8 @@ $smarty->display("file:/path/to/my/templates/menu.tpl");
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
$smarty->display("file:C:/export/templates/index.tpl"); $smarty->display('file:C:/export/templates/index.tpl');
$smarty->display("file:F:/path/to/my/templates/menu.tpl"); $smarty->display('file:F:/path/to/my/templates/menu.tpl');
?> ?>
]]> ]]>
</programlisting> </programlisting>
@@ -91,7 +93,7 @@ $smarty->display("file:F:/path/to/my/templates/menu.tpl");
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{include file="file:D:/usr/local/share/templates/navigation.tpl"} {include file='file:D:/usr/local/share/templates/navigation.tpl'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
@@ -114,7 +116,7 @@ $smarty->display("file:F:/path/to/my/templates/menu.tpl");
<note> <note>
<para> <para>
Notez que vous ne pouvez pas <20>craser la ressource <literal>file</literal> native, Notez que vous ne pouvez pas <20>craser la ressource <literal>file:</literal> native,
toutefois, vous pouvez fournir une ressource qui r<>cup<75>re un template depuis toutefois, vous pouvez fournir une ressource qui r<>cup<75>re un template depuis
le syst<73>me de fichier par un autre moyen en l'enregistrant sous un autre le syst<73>me de fichier par un autre moyen en l'enregistrant sous un autre
nom de ressource. nom de ressource.
@@ -184,7 +186,7 @@ $smarty->display("db:index.tpl");
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{include file="db:/extras/navigation.tpl"} {include file='db:/extras/navigation.tpl'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>