sync with EN

This commit is contained in:
yannick
2005-12-01 20:28:15 +00:00
parent 822d834075
commit 392ae0c522
10 changed files with 246 additions and 146 deletions

View File

@@ -1,8 +1,23 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.10 Maintainer: gerald Status: ready -->
<sect1 id="language.function.capture"> <sect1 id="language.function.capture">
<title>{capture}</title> <title>{capture}</title>
<para>
{capture} est utilis<69> pour r<>cup<75>rer la sortie d'<27>l<EFBFBD>ments dans une variable
au lieu de les afficher. Tout contenu situ<74> entre {capture
name="foo"} et {/capture} est intercept<70> dans une variable dont le nom est
sp<73>cifi<66> dans l'attribut name. Le contenu captur<75> peut <20>tre utilis<69> dans
le template par l'interm<72>diaire de la variable sp<73>ciale
<link linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
o<> "foo" est la valeur de l'attribut name. Si vous ne donnez pas de valeur
<20> l'attribut name, alors "default" est utilis<69>. Toutes les commandes
{capture} doivent <20>tre utilis<69>es de paire avec {/capture}. Vous pouvez
imbriquer les demandes de captures.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -37,27 +52,6 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
{capture} est utilis<69> pour r<>cup<75>rer la sortie d'<27>l<EFBFBD>ments dans une variable
au lieu de les afficher. Tout contenu situ<74> entre {capture
name="foo"} et {/capture} est intercept<70> dans une variable dont le nom est
sp<73>cifi<66> dans l'attribut name. Le contenu captur<75> peut <20>tre utilis<69> dans
le template par l'interm<72>diaire de la variable sp<73>ciale <link
linkend="language.variables.smarty.capture">$smarty.capture.foo</link>
o<> "foo" est la valeur de l'attribut name. Si vous ne donnez pas de valeur
<20> l'attribut name, alors "default" est utilis<69>. Toutes les commandes
{capture} doivent <20>tre utilis<69>es de paire avec {/capture}. Vous pouvez
imbriquer les demandes de captures.
</para>
<note>
<title>Note technique</title>
<para>
Smarty 1.4.0 - 1.4.4 pla<6C>ait les contenus captur<75>s dans une variable
appel<65>e $return. Depuis Smarty 1.4.5, ce comportement <20> <20>t<EFBFBD> modifi<66> et
Smarty utilise maintenant l'attribut name en lieu et place.
Veuillez donc mettre vos templates <20> jour selon cette r<>gle.
</para>
</note>
<caution> <caution>
<para> <para>
Fa<46>tes attention lorsque vous interceptez la sortie de commandes <link Fa<46>tes attention lorsque vous interceptez la sortie de commandes <link
@@ -76,7 +70,7 @@
<![CDATA[ <![CDATA[
{* nous ne voulons afficher une ligne que si cette derni<6E>re est activ<69>. *} {* nous ne voulons afficher une ligne que si cette derni<6E>re est activ<69>. *}
{capture name=banner} {capture name=banner}
{include file="get_banner.tpl"} {include file='get_banner.tpl'}
{/capture} {/capture}
{if $smarty.capture.banner ne ""} {if $smarty.capture.banner ne ""}
<table> <table>
@@ -90,6 +84,23 @@
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<example>
<title>Capturer le contenu dans une variable</title>
<para>Cet exemple d<>montre <20>galement la fonction
<link linkend="language.function.popup">{popup}</link>
</para>
<programlisting>
<![CDATA[
{capture name=some_content assign=popText}
.... du contenu ....
{/capture}
<a href="#" {popup caption='Help' text=$popText}>help</a>
]]>
</programlisting>
</example>
</para> </para>
<para> <para>
Voir aussi Voir aussi

View File

@@ -1,8 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.9 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.11 Maintainer: gerald Status: ready -->
<sect1 id="language.function.config.load"> <sect1 id="language.function.config.load">
<title>{config_load}</title> <title>{config_load}</title>
<para>
{config_load} est utilise<73> pour charger des variables
<link linkend="language.config.variables">#variables#</link>
depuis un <link linkend="config.files">fichier de configuration</link>
dans un template.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -65,19 +74,13 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
{config_load} est utilise<73> pour charger des variables <link
linkend="language.config.variables">#variables#</link>
depuis un <link linkend="config.files">fichier de configuration</link>
dans un template.
</para>
<example> <example>
<title>fonction {config_load}</title> <title>fonction {config_load}</title>
<para> <para>
example.conf example.conf
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
#ceci est un commentaire de fichier de configuration #ceci est un commentaire de fichier de configuration
#variables globales #variables globales
@@ -94,7 +97,7 @@ pageTitle = "Info personnalis
<para>et le template</para> <para>et le template</para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{config_load file="example.conf"} {config_load file='example.conf'}
<html> <html>
<title>{#pageTitle#|default:"No title"}</title> <title>{#pageTitle#|default:"No title"}</title>
@@ -128,7 +131,7 @@ pageTitle = "Info personnalis
<title>fonction {config_load} avec section</title> <title>fonction {config_load} avec section</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{config_load file="example.conf" section="Customer"} {config_load file='example.conf' section='Customer'}
<html> <html>
<title>{#pageTitle#}</title> <title>{#pageTitle#}</title>
@@ -146,6 +149,11 @@ pageTitle = "Info personnalis
</programlisting> </programlisting>
</example> </example>
<para>
Voir aussi <link linkend="variable.config.overwrite">$config_overwrite</link>
pour les tableaux de variables de configuration.
</para>
<para> <para>
Voir aussi Voir aussi
<link linkend="config.files">les fichiers de configuration</link>, <link linkend="config.files">les fichiers de configuration</link>,

View File

@@ -1,8 +1,31 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
<sect1 id="language.function.foreach"> <sect1 id="language.function.foreach">
<title>{foreach},{foreachelse}</title> <title>{foreach},{foreachelse}</title>
<para>
Les boucles <emphasis>{foreach}</emphasis> sont une alternative aux boucles
<link linkend="language.function.section"><emphasis>section</emphasis></link>.
Les boucles <emphasis>{foreach}</emphasis>
sont utilis<69>es pour parcourir des <emphasis role="bold">tableaux associatifs simples</emphasis>.
La syntaxe des boucles <emphasis>{foreach}</emphasis> est bien plus simple
que celle des boucles <emphasis>{section}</emphasis>, mais en contrepartie,
<emphasis role="bold">elles ne peuvent <20>tre utilis<69>es que pour des tableaux associatifs
simples</emphasis>. La balise <emphasis>{foreach}</emphasis> doit toujours <20>tre accompagn<67>e
de la balise <emphasis>{/foreach}</emphasis>. Les param<61>tres requis sont
<emphasis>from</emphasis> et <emphasis>item</emphasis>. Le nom des boucles
{foreach} doit <20>tre compos<6F>s exclusivement de lettres,
chiffres et underscores, selon vos pr<70>f<EFBFBD>rences. Les boucles
<emphasis>{foreach}</emphasis> peuvent <20>tre imbriqu<71>es.
La variable <emphasis>from</emphasis> (g<>n<EFBFBD>ralement le tableau <20>
parcourir) d<>termine le nombre de fois que <emphasis>{foreach}</emphasis>
sera ex<65>cut<75>. <emphasis>{foreachelse}</emphasis> est ex<65>cut<75> si aucune
valeur n'est pr<70>sente dans la variable donn<6E>e <20> l'attribut
<emphasis>from</emphasis>.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -52,26 +75,6 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Les boucles <emphasis>{foreach}</emphasis> sont une alternative aux boucles
<link linkend="language.function.section"><emphasis>section</emphasis></link>.
Les boucles <emphasis>{foreach}</emphasis>
sont utilis<69>es pour parcourir des <emphasis role="bold">tableaux associatifs simples</emphasis>.
La syntaxe des boucles <emphasis>{foreach}</emphasis> est bien plus simple
que celle des boucles <emphasis>{section}</emphasis>, mais en contrepartie,
<emphasis role="bold">elles ne peuvent <20>tre utilis<69>es que pour des tableaux associatifs
simples</emphasis>. La balise <emphasis>{foreach}</emphasis> doit toujours <20>tre accompagn<67>e
de la balise <emphasis>{/foreach}</emphasis>. Les param<61>tres requis sont
<emphasis>from</emphasis> et <emphasis>item</emphasis>. Le nom des boucles
{foreach} doit <20>tre compos<6F>s exclusivement de lettres,
chiffres et underscores, selon vos pr<70>f<EFBFBD>rences. Les boucles
<emphasis>{foreach}</emphasis> peuvent <20>tre imbriqu<71>es.
La variable <emphasis>from</emphasis> (g<>n<EFBFBD>ralement le tableau <20>
parcourir) d<>termine le nombre de fois que <emphasis>{foreach}</emphasis>
sera ex<65>cut<75>. <emphasis>{foreachelse}</emphasis> est ex<65>cut<75> si aucune
valeur n'est pr<70>sente dans la variable donn<6E>e <20> l'attribut
<emphasis>from</emphasis>.
</para>
<example> <example>
<title>foreach</title> <title>foreach</title>
<programlisting role="php"> <programlisting role="php">

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.5 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.7 Maintainer: gerald Status: ready -->
<sect1 id="language.function.if"> <sect1 id="language.function.if">
<title>{if},{elseif},{else}</title> <title>{if},{elseif},{else}</title>
<para> <para>
@@ -10,9 +11,10 @@
moteur de template. Tous les <emphasis>{if}</emphasis> doivent <20>tre moteur de template. Tous les <emphasis>{if}</emphasis> doivent <20>tre
utilis<69>s de pair avec un <emphasis>{/if}</emphasis>. utilis<69>s de pair avec un <emphasis>{/if}</emphasis>.
<emphasis>{else}</emphasis> et <emphasis>{elseif}</emphasis> sont <20>galement <emphasis>{else}</emphasis> et <emphasis>{elseif}</emphasis> sont <20>galement
des balises autoris<69>es. Toutes les conditions PHP sont reconnues, des balises autoris<69>es. Toutes les conditions et fonctions PHP sont reconnues,
comme <emphasis>||</emphasis>, <emphasis>or</emphasis>, comme <emphasis>||</emphasis>, <emphasis>or</emphasis>,
<emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>, etc. <emphasis>&amp;&amp;</emphasis>, <emphasis>and</emphasis>,
<emphasis>is_array()</emphasis>, etc.
</para> </para>
<para> <para>
La liste suivante pr<70>sente les op<6F>rateurs reconnus, qui doivent <20>tre entour<75>s d'espaces. La liste suivante pr<70>sente les op<6F>rateurs reconnus, qui doivent <20>tre entour<75>s d'espaces.
@@ -203,6 +205,18 @@ doivent
{if $var is even by 3} {if $var is even by 3}
... ...
{/if} {/if}
{* ------- if avec des fonctions PHP ------- *}
{* check for array. *}
{if is_array($foo) }
.....
{/if}
{* v<>rification du tableau. *}
{if isset($foo) }
.....
{/if}
]]> ]]>
</programlisting> </programlisting>
</example> </example>

View File

@@ -1,8 +1,24 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.9 Maintainer: gerald Status: ready -->
<sect1 id="language.function.include.php"> <sect1 id="language.function.include.php">
<title>{include_php}</title> <title>{include_php}</title>
<note>
<title>Notes techniques</title>
<para>
{include_php} est presque obsol<6F>te dans Smarty. Vous pouvez obtenir des r<>sultats
<20>quivalents en utilisant les fonctions utilisateur.
La seule raison qui peut vous pousser <20> utiliser {include_php} est que
vous avez besoin de mettre une de vos fonction en quarantaine vis <20> vis du
r<>pertoire des <link linkend="variable.plugins.dir">plugins</link> ou de votre application.
Reportez-vous <20> l'exemple des
<link linkend="tips.componentized.templates"> templates composants</link>
pour plus de d<>tails.
</para>
</note>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -46,19 +62,6 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<note>
<title>Technical Note</title>
<para>
{include_php} est presque obsol<6F>te dans Smarty. Vous pouvez obtenir des r<>sultats
<20>quivalents en utilisant les fonctions utilisateur.
La seule raison qui peut vous pousser <20> utiliser {include_php} est que
vous avez besoin de mettre une de vos fonction en quarantaine vis <20> vis du
r<>pertoire des <link linkend="variable.plugins.dir">plugins</link> ou de votre application.
Reportez vous <20> l'exemple des <link
linkend="tips.componentized.templates"> templates composants</link>
pour plus de d<>tails.
</para>
</note>
<para> <para>
Les balises {include_php} sont utilis<69>es pour inclure directement Les balises {include_php} sont utilis<69>es pour inclure directement

View File

@@ -1,8 +1,23 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.9 Maintainer: gerald Status: ready -->
<sect1 id="language.function.include"> <sect1 id="language.function.include">
<title>{include}</title> <title>{include}</title>
<para>
Les balises "{include}" sont utilis<69>es pour inclure des templates <20>
l'int<6E>rieur d'autres templates. Toutes les variables disponibles
dans le template r<>alisant l'inclusion sont disponibles dans le
template inclus. La balise {include} doit disposer de l'attribut
"file", qui contient le chemin de la ressource template.
</para>
<para>
Vous pouvez sp<73>cifier un attribut optionnel <emphasis>'assign'</emphasis>
qui d<>finit une variable de template dans laquelle la sortie de
{include} sera stock<63>e plut<75>t qu'affich<63>e.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -45,18 +60,6 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Les balises "{include}" sont utilis<69>es pour inclure des templates <20>
l'int<6E>rieur d'autres templates. Toutes les variables disponibles
dans le template r<>alisant l'inclusion sont disponibles dans le
template inclus. La balise {include} doit disposer de l'attribut
"file", qui contient le chemin de la ressource template.
</para>
<para>
Vous pouvez sp<73>cifier un attribut optionnel <emphasis>'assign'</emphasis>
qui d<>finit une variable de template dans laquelle la sortie de
{include} sera stock<63>e plut<75>t qu'affich<63>e.
</para>
<example> <example>
<title>fonction {include}</title> <title>fonction {include}</title>
<programlisting> <programlisting>
@@ -66,12 +69,12 @@
<title>{$title}</title> <title>{$title}</title>
</head> </head>
<body> <body>
{include file="page_header.tpl"} {include file='page_header.tpl'}
{* body of template goes here *} {* body of template goes here *}
{include file="/$tpl_name.tpl"} <-- remplace $tpl_name avec la valeur {include file='$tpl_name.tpl'} <-- remplace $tpl_name avec la valeur
{include file="page_footer.tpl"} {include file='page_footer.tpl'}
</body> </body>
</html> </html>
]]> ]]>
@@ -88,11 +91,11 @@
<title>fonction {include}, passage de variables</title> <title>fonction {include}, passage de variables</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{include file="header.tpl" title="Menu principal" table_bgcolor="#c0c0c0"} {include file='header.tpl' title='Menu principal' table_bgcolor='#c0c0c0'}
{* Le corps du template vient ici *} {* Le corps du template vient ici *}
{include file="footer.tpl" logo="http://mon.example.com/logo.gif"} {include file='footer.tpl' logo='http://mon.example.com/logo.gif'}
]]> ]]>
</programlisting> </programlisting>
<para>o<EFBFBD> header.tpl est :</para> <para>o<EFBFBD> header.tpl est :</para>
@@ -116,13 +119,13 @@
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<body> <body>
{include file="nav.tpl" assign="navbar"} {include file='nav.tpl' assign=navbar}
{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"} {include file='header.tpl' title='Main Menu' table_bgcolor='#c0c0c0'}
{$navbar} {$navbar}
{* body of template goes here *} {* body of template goes here *}
{include file="footer.tpl" logo="http://my.example.com/logo.gif"} {include file='footer.tpl' logo='http://my.example.com/logo.gif'}
{$navbar} {$navbar}
</body> </body>
]]> ]]>
@@ -138,16 +141,21 @@
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* chemin absolu *} {* chemin absolu *}
{include file="/usr/local/include/templates/header.tpl"} {include file='/usr/local/include/templates/header.tpl'}
{* chemin absolu (m<>me chose) *} {* chemin absolu (m<>me chose) *}
{include file="file:/usr/local/include/templates/header.tpl"} {include file='file:/usr/local/include/templates/header.tpl'}
{* chemin absolu windows (DOIT utiliser le pr<70>fixe "file:") *} {* chemin absolu windows (DOIT utiliser le pr<70>fixe "file:") *}
{include file="file:C:/www/pub/templates/header.tpl"} {include file='file:C:/www/pub/templates/header.tpl'}
{* inclusion d'une ressource template "db" *} {* inclusion d'une ressource template "db" *}
{include file="db:header.tpl"} {include file='db:header.tpl'}
{* inclusion d'un template $variable - eg $module = 'contacts' *}
{include file="$module.tpl"}
{* ne fonctionne pas avec des simples guillemets ie aucun substitution de variables *}
{include file='$module.tpl'}
]]> ]]>
</programlisting> </programlisting>
</example> </example>

View File

@@ -1,8 +1,18 @@
<?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.6 Maintainer: gerald Status: ready -->
<sect1 id="language.function.insert"> <sect1 id="language.function.insert">
<title>{insert}</title> <title>{insert}</title>
<para>
Les balises {insert} fonctionnent <20> peu pr<70>s comme les balises
<link linkend="language.function.include">include</link>,
<20> l'exception que leur sortie n'est PAS plac<61>e en cache lorsque
<link linkend="caching">le cache</link> est activ<69>.
Les balises {insert} seront ex<65>cut<75>es <20> chaque appel du template.
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />
@@ -52,29 +62,22 @@
</tbody> </tbody>
</tgroup> </tgroup>
</informaltable> </informaltable>
<para>
Les balises insert fonctionnent <20> peu pr<70>s comme les balises <link
linkend="language.function.include">include</link>,
<20> l'exception que leur sortie n'est pas plac<61>e en cache lorsque
<link linkend="caching">le cache</link> est activ<69>.
Les balises insert seront ex<65>cut<75>es <20> chaque appel du template.
</para>
<para> <para>
Supposons que vous avez un template avec un emplacement Supposons que vous avez un template avec un emplacement
pour un bandeau publicitaire en haut de page. pour un bandeau publicitaire en haut de page.
Ce bandeau publicitaire peut contenir toutes sortes de contenus Ce bandeau publicitaire peut contenir toutes sortes de contenus
HTML, images, flash, etc. Nous ne pouvons pas placer du contenu HTML, images, flash, etc. Nous ne pouvons pas placer du contenu
statique <20> cet endroit. Nous ne voulons pas non plus que ce statique <20> cet endroit. Nous ne voulons pas non plus que ce
contenu fasse partie du cache. Arrive alors la balise insert. contenu fasse partie du cache. Arrive alors la balise {insert}.
Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s Le template connais #emplacement_bandeau# et #id_site# (r<>cup<75>r<EFBFBD>s
depuis un fichier de configuration), et <20> besoin d'un appel de depuis un <link linkend="config.files">fichier de configuration</link>),
fonction pour r<>cup<75>rer le contenu du bandeau. et <20> besoin d'un appel de fonction pour r<>cup<75>rer le contenu du bandeau.
</para> </para>
<example> <example>
<title>Fonction insert</title> <title>Fonction {insert}</title>
<programlisting> <programlisting>
{* exemple de r<>cup<75>ration d'un bandeau publicitaire *} {* exemple de r<>cup<75>ration d'un bandeau publicitaire *}
{insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#} {insert name="getBanner" lid=#emplacement_bandeau# sid=#id_site#}
</programlisting> </programlisting>
</example> </example>
<para> <para>
@@ -82,27 +85,28 @@
param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une param<61>tres #emplacement_bandeau# et #id_site#. Smarty va rechercher une
fonction appel<65>e insert_getBanner () dans votre application PHP, et lui fonction appel<65>e insert_getBanner () dans votre application PHP, et lui
passer les valeurs #banner_location_id# et #site_id# comme premier passer les valeurs #banner_location_id# et #site_id# comme premier
param<61>tre, dans un tableau associatif. Tous les noms des fonctions insert param<61>tre, dans un tableau associatif. Tous les noms des fonctions {insert}
de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier de votre application doivent <20>tre prefix<69>es de "insert_" pour rem<65>dier
<20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner () <20> d'<27>ventuels conflits de nommage. Votre fonction insert_getBanner ()
est suppos<6F>e traiter les valeurs pass<73>es et retourner est suppos<6F>e traiter les valeurs pass<73>es et retourner
un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et un r<>sultat. Ces r<>sultats sont affich<63>s dans le template en lieu et
place de la balise. Dans cet exemple, Smarty appellera cette fonction place de la balise. Dans cet exemple, Smarty appellera cette fonction
insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera insert_getBanner(array("lid" => "12345","sid" => "67890")); et affichera
le r<>sultat retourn<72> <20> la place de la balise insert. le r<>sultat retourn<72> <20> la place de la balise {insert}.
</para> </para>
<para> <para>
Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise Si vous donnez une valeur <20> l'attribut "assign", la sortie de la balise
insert sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre {insert} sera assign<67> <20> une variable de template de ce nom au lieu d'<27>tre
affich<63>e directement. NOTE: assigner la sortie <20> une variable n'est pas affich<63>e directement. NOTE: assigner la sortie <20> une variable n'est pas
tr<74>s utile lorsque le cache est activ<69>. tr<74>s utile lorsque le <link linkend="variable.caching">cache</link> est activ<69>.
</para> </para>
<para> <para>
Si vous donnez une valeur <20> l'attribut "script", ce script PHP sera Si vous donnez une valeur <20> l'attribut "script", ce script PHP sera
inclus (une seule fois) avant l'ex<65>cution de la fonction insert. inclus (une seule fois) avant l'ex<65>cution de la fonction {insert}.
Le cas peut survenir lorsque la fonction insert n'existe pas encore, Le cas peut survenir lorsque la fonction {insert} n'existe pas encore,
et que le script PHP charg<72> de sa d<>finission doit <20>tre inclus. Le et que le script PHP charg<72> de sa d<>finission doit <20>tre inclus. Le
chemin doit <20>tre absolu ou relatif <20> $trusted_dir. chemin doit <20>tre absolu ou relatif <20>
<link linkend="variable.trusted.dir">$trusted_dir</link>.
Lorsque <link Lorsque <link
linkend="variable.security">"security" est actif</link>, le script doit <20>tre situ<74> linkend="variable.security">"security" est actif</link>, le script doit <20>tre situ<74>
dans <link linkend="variable.trusted.dir">$trusted_dir</link>. dans <link linkend="variable.trusted.dir">$trusted_dir</link>.
@@ -110,14 +114,14 @@
<para> <para>
L'objet Smarty est pass<73> comme second argument. De cette fa<66>on, vous L'objet Smarty est pass<73> comme second argument. De cette fa<66>on, vous
pouvez utiliser ou modifier des informations sur l'objet Smarty, pouvez utiliser ou modifier des informations sur l'objet Smarty,
directement depuis votre fonction d'insertion. directement depuis votre fonction {insert}.
</para> </para>
<note> <note>
<title>Note technique</title> <title>Note technique</title>
<para> <para>
Il est possible d'avoir des portions de template qui ne soient pas Il est possible d'avoir des portions de template qui ne soient pas
g<>rables par le cache. M<>me si vous avez activ<69> l'option g<>rables par le cache. M<>me si vous avez activ<69> l'option
<link linkend="caching">caching</link>, les balises insert <link linkend="caching">caching</link>, les balises {insert}
ne feront pas partie du cache. Elles retourneront un contenu dynamique ne feront pas partie du cache. Elles retourneront un contenu dynamique
<20> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour <20> chaque invocation de la page. Cette m<>thode est tr<74>s pratique pour
des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes, des <20>l<EFBFBD>ments tels que les bandeaux publicitaires, les enqu<71>tes,

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.9 Maintainer: gerald Status: ready -->
<sect1 id="language.function.ldelim"> <sect1 id="language.function.ldelim">
<title>{ldelim},{rdelim}</title> <title>{ldelim},{rdelim}</title>
<para> <para>
ldelim et rdelim sont utilis<69>s pour afficher les d<>limiteurs en tant {ldelim} et {rdelim} sont utilis<69>s pour <link linkend="language.escaping"><EFBFBD>chapper</link>
que tels, dans notre cas, "{" ou "}". Vous pouvez toujours utiliser <link les d<>limiteurs en tant que tels, dans notre cas, "{" ou "}". Vous pouvez toujours utiliser <link
linkend="language.function.literal">{literal}{/literal}</link> pour <20>chapper linkend="language.function.literal">{literal}{/literal}</link> pour <20>chapper
des blocks de texte. des blocks de texte.
Voir aussi <link linkend="language.variables.smarty.ldelim">{$smarty.ldelim}</link>. Voir aussi <link linkend="language.variables.smarty.ldelim">{$smarty.ldelim}</link>.
</para> </para>
<example> <example>
<title>ldelim, rdelim</title> <title>{ldelim}, {rdelim}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* Affiche les d<>limiteurs de template *} {* Affiche les d<>limiteurs de template *}
@@ -27,10 +28,34 @@
{nomFonction} est la fa<66>on dont sont appel<65>es les fonctions dans Smarty ! {nomFonction} est la fa<66>on dont sont appel<65>es les fonctions dans Smarty !
]]> ]]>
</screen> </screen>
<para>Un autre exemple avec du javascript</para>
<programlisting>
<![CDATA[
<script language="JavaScript">
function foo() {ldelim}
... code ...
{rdelim}
</script>
]]>
</programlisting>
<para>
affichera :
</para>
<screen>
<![CDATA[
<script language="JavaScript">
function foo() {
.... code ...
}
</script>
]]>
</screen>
</example> </example>
<para> <para>
Voir aussi la Voir aussi la
<link linkend="language.escaping">d<EFBFBD>sactivation l'analyse de Smarty</link>. <link linkend="language.escaping">d<EFBFBD>sactivation de l'analyse de Smarty</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.7 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.9 Maintainer: gerald Status: ready -->
<sect1 id="language.function.literal"> <sect1 id="language.function.literal">
<title>{literal}</title> <title>{literal}</title>
<para> <para>
@@ -10,18 +11,18 @@
qui peuvent confondre le moteur de template. Tout le contenu situ<74> qui peuvent confondre le moteur de template. Tout le contenu situ<74>
entre les balises {literal}{/literal} ne sera pas interpr<70>t<EFBFBD>, et entre les balises {literal}{/literal} ne sera pas interpr<70>t<EFBFBD>, et
affich<63> comme du contenu statique. Si vous voulez inclure des tags de template affich<63> comme du contenu statique. Si vous voulez inclure des tags de template
dans votre block lit<EFBFBD>ral, utilisez plut<75>t <link dans votre block {literal}, utilisez plut<75>t <link
linkend="language.function.ldelim">{ldelim}{rdelim}</link> pour <20>chapper linkend="language.function.ldelim">{ldelim}{rdelim}</link> pour <20>chapper
les d<>limiteurs individuels. les d<>limiteurs individuels.
</para> </para>
<example> <example>
<title>Balises literal</title> <title>Balises {literal}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{literal} {literal}
<script language=javascript> <script language=javascript>
<!-- <!--
function isblank(field) { function isblank(field) {
if (field.value == '') if (field.value == '')
{ return false; } { return false; }
@@ -31,7 +32,7 @@
return true; return true;
} }
} }
// --> // -->
</script> </script>
{/literal} {/literal}

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.5 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.7 Maintainer: gerald Status: ready -->
<sect1 id="language.function.php"> <sect1 id="language.function.php">
<title>{php}</title> <title>{php}</title>
<para> <para>
@@ -11,17 +12,39 @@
n<>cessaire. n<>cessaire.
</para> </para>
<example> <example>
<title>balises php</title> <title>Balises {php}</title>
<programlisting> <programlisting role="php">
<![CDATA[ <![CDATA[
{php} {php}
// inclusion directe d'un script PHP // inclusion directe d'un script PHP
// depuis le template. // depuis le template.
include("/path/to/display_weather.php"); include('/chemin/vers/display_weather.php');
{/php} {/php}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<note>
<title>Notes techniques</title>
<para>
Pour acc<63>der aux variables PHP dans les blocks {php}, vous devriez avoir besoin
d'utiliser le mot cl<63> PHP <ulink url="&url.php-manual;global">global</ulink>.
</para>
</note>
<example>
<title>Balises {php} avec le mot cl<63> global</title>
<programlisting role="php">
<![CDATA[
{php}
global $foo, $bar;
if($foo == $bar){
// do something
}
{/php}
]]>
</programlisting>
</example>
<para> <para>
Voir aussi Voir aussi
<link linkend="variable.php.handling">$php_handling</link>, <link linkend="variable.php.handling">$php_handling</link>,