sync with EN

This commit is contained in:
yannick
2006-04-09 21:59:55 +00:00
parent f79789ff4f
commit bb34c90acf
16 changed files with 262 additions and 129 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.10 Maintainer: didou Status: ready --> <!-- EN-Revision: 1.11 Maintainer: didou Status: ready -->
<chapter id="tips"> <chapter id="tips">
<title>Trucs et astuces</title> <title>Trucs et astuces</title>
@@ -111,7 +111,7 @@
</programlisting> </programlisting>
<para> <para>
<filename>header.tpl</filename> - Notez que "BC News" est affich<63> si la variable <filename>header.tpl</filename> - Notez que "Smarty News" est affich<63> si la variable
$title n'est pas d<>finie, en utilisant le modificateur de variable par $title n'est pas d<>finie, en utilisant le modificateur de variable par
<link linkend="language.modifier.default">d<EFBFBD>faut</link>. <link linkend="language.modifier.default">d<EFBFBD>faut</link>.
</para> </para>
@@ -119,7 +119,7 @@
<![CDATA[ <![CDATA[
<html> <html>
<head> <head>
<title>{$title|default:'BC News'}</title> <title>{$title|default:'Smarty News'}</title>
</head> </head>
<body> <body>
]]> ]]>
@@ -359,7 +359,7 @@ function smarty_function_load_ticker($params, &$smarty)
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{load_ticker symbol="YHOO" assign="ticker"} {load_ticker symbol='SMARTY' assign="ticker"}
Stock Name: {$ticker.name} Stock Price: {$ticker.price} Stock Name: {$ticker.name} Stock Price: {$ticker.price}
]]> ]]>
@@ -387,10 +387,9 @@ Stock Name: {$ticker.name} Stock Price: {$ticker.price}
<title>Exemple de dissimulation d'une adresse email</title> <title>Exemple de dissimulation d'une adresse email</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* in index.tpl *} {* dans le template *}
<div id="contact">Envoyer une demande <20>
Send inquiries to {mailto address=$EmailAddress encode='javascript' subject='Bonjour'}
{mailto address=$EmailAddress encode="javascript" subject="Hello"}
]]> ]]>
</programlisting> </programlisting>
</example> </example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.9 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.11 Maintainer: yannick Status: ready -->
<sect1 id="language.syntax.comments"> <sect1 id="language.syntax.comments">
<title>Commentaires</title> <title>Commentaires</title>
@@ -10,15 +10,18 @@
de cette fa<66>on : <emphasis>{* voici un commentaire *}</emphasis> de cette fa<66>on : <emphasis>{* voici un commentaire *}</emphasis>
Les commentaires Smarty ne sont PAS affich<63>s dans la sortie finale du Les commentaires Smarty ne sont PAS affich<63>s dans la sortie finale du
template, diff<66>remment des &lt;!-- commentaires HTML --&gt; template, diff<66>remment des &lt;!-- commentaires HTML --&gt;
et sont utilis<69>s pour des notes internes, dans le template, pour aider et sont utilis<69>s pour des notes internes, dans le template que personne ne verra ;)
les d<>veloppeurs <20> en comprendre le fonctionnement.
</para> </para>
<example> <example>
<title>Commentaires</title> <title>Commentaires dans un template</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<body>
{* Je suis un commentaire Smarty, je n'existe pas dans la sortie compil<69>e *} {* Je suis un commentaire Smarty, je n'existe pas dans la sortie compil<69>e *}
<html>
<head>
<title>{$title}</title>
</head>
<body>
{* un autre commentaire Smarty sur une seule ligne *} {* un autre commentaire Smarty sur une seule ligne *}
<!-- Un commentaire Html qui sera envoy<6F> au navigateur --> <!-- Un commentaire Html qui sera envoy<6F> au navigateur -->
@@ -35,7 +38,7 @@ Un bloc de commentaires multilignes contenant les cr
@ css: the style output @ css: the style output
**********************************************************} **********************************************************}
{* Inclusion du fichier d'en t<>te *} {* Inclusion du fichier d'en-t<>te contenant le logo principal *}
{include file='header.tpl'} {include file='header.tpl'}
{* Note aux d<>veloppeurs : $includeFile est assign<67> au script foo.php *} {* Note aux d<>veloppeurs : $includeFile est assign<67> au script foo.php *}
@@ -48,10 +51,13 @@ Un bloc de commentaires multilignes contenant les cr
{html_options options=$vals selected=$selected_id} {html_options options=$vals selected=$selected_id}
</select> </select>
*} *}
{* Balise cvs pour un template *}
{* &#36;Id: Exp &#36; *}
{* Balise cvs pour un template, ci-dessous, le 36 DOIT <20>TRE une devise am<61>ricaine sinon,
il sera converti en cvs.. *}
{* &#36;Id: Exp &#36; *}
{* $Id: *}
</body> </body>
</html>
]]> ]]>
</programlisting> </programlisting>
</example> </example>

View File

@@ -1,11 +1,12 @@
<?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.9 Maintainer: yannick Status: ready -->
<sect1 id="language.syntax.functions"> <sect1 id="language.syntax.functions">
<title>Fonctions</title> <title>Fonctions</title>
<para> <para>
Les balises Smarty affichent une <link linkend="language.variables">variable</link> Les balises Smarty affichent une <link linkend="language.variables">variable</link>
ou invoquent une fonction. Les fonctions sont appel<65>es ou invoquent une fonction. Elles sont appel<65>es
lorsqu'elles sont entour<75>es, ainsi que leurs lorsqu'elles sont entour<75>es, ainsi que leurs
<link linkend="language.syntax.attributes">param<EFBFBD>tres</link>, des d<>limiteurs Smarty. <link linkend="language.syntax.attributes">param<EFBFBD>tres</link>, des d<>limiteurs Smarty.
Par exemple : {nomfonction attr1='val' attr2='val'}. Par exemple : {nomfonction attr1='val' attr2='val'}.
@@ -16,15 +17,15 @@
<![CDATA[ <![CDATA[
{config_load file='colors.conf'} {config_load file='colors.conf'}
{include file='header.tpl'} {include file='header.tpl'}
{insert file='banner_ads.tpl'} {insert file='banner_ads.tpl' title='Smarty est cool !'}
{if $highlight_name} {if $logged_in}
Bonjour, <font color="{#fontColor#}">{$name}!</font> Bonjour, <font color="{#fontColor#}">{$name}!</font>
{else} {else}
Bonjour, {$name}! Bonjour, {$name}!
{/if} {/if}
{include file='footer.tpl'} {include file='footer.tpl' ad=$random_id}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
@@ -39,7 +40,7 @@
comme <link linkend="language.function.if">{if}</link>, comme <link linkend="language.function.if">{if}</link>,
<link linkend="language.function.section">{section}</link> et <link linkend="language.function.section">{section}</link> et
<link linkend="language.function.strip">{strip}</link>. <link linkend="language.function.strip">{strip}</link>.
Elles ne devraient pas <20>tre modifi<EFBFBD>es. Il n'y a aucune raison <20> ce qu'elles soient modifi<66>es ou chang<EFBFBD>es.
</para> </para>
<para> <para>
Les fonctions utilisateurs sont des fonctions <emphasis role="bold">additionnelles</emphasis>, Les fonctions utilisateurs sont des fonctions <emphasis role="bold">additionnelles</emphasis>,
@@ -50,6 +51,11 @@
<link linkend="language.function.popup">{popup}</link> <link linkend="language.function.popup">{popup}</link>
sont deux exemples de fonctions utilisateurs. sont deux exemples de fonctions utilisateurs.
</para> </para>
<para>
Voir aussi
<link linkend="api.register.function">register_function()</link>.
</para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,17 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.11 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.13 Maintainer: yannick Status: ready -->
<sect1 id="language.syntax.variables"> <sect1 id="language.syntax.variables">
<title>Variables</title> <title>Variables</title>
<para> <para>
Les variables de template commence par un signe dollar (<literal>$</literal>). Les variables de template commence par un signe dollar (<literal>$</literal>).
Elles peuvent contenir des nombres, des lettres et des underscores, tout Elles peuvent contenir des nombres, des lettres et des underscores, tout
comme une <ulink url="&url.php-manual;language.variables">variable PHP</ulink>. comme une <ulink url="&url.php-manual;language.variables">variable PHP</ulink>.
Vous pouvez r<>f<EFBFBD>rencer des tableaux index<65>s Vous pouvez r<>f<EFBFBD>rencer des tableaux index<65>s
num<75>riquement ou non. Vous pouvez aussi r<>f<EFBFBD>rencer des propri<72>t<EFBFBD>s d'objet num<75>riquement ou non. Vous pouvez aussi r<>f<EFBFBD>rencer des propri<72>t<EFBFBD>s d'objet
ainsi que des m<>thodes. Les <link linkend="language.config.variables">variables des fichiers de ainsi que des m<>thodes.
</para>
<para>
Les <link linkend="language.config.variables">variables des fichiers de
configuration</link> sont une exception <20> la synthaxe utilisant un signe dollar. Elles peuvent <20>tre configuration</link> sont une exception <20> la synthaxe utilisant un signe dollar. Elles peuvent <20>tre
r<>f<EFBFBD>renc<6E>es en les entourant du signe di<64>se (<literal>#</literal>) ou avec la variable sp<73>ciale r<>f<EFBFBD>renc<6E>es en les entourant du signe di<64>se (<literal>#</literal>) ou via la variable sp<73>ciale
<link linkend="language.variables.smarty.config">$smarty.config</link>. <link linkend="language.variables.smarty.config">$smarty.config</link>.
</para> </para>
<example> <example>
@@ -27,7 +31,7 @@
{#foo#} <-- affiche la variable du fichier de configuration "foo" {#foo#} <-- affiche la variable du fichier de configuration "foo"
{$smarty.config.foo} <-- synonyme pour {#foo#} {$smarty.config.foo} <-- synonyme pour {#foo#}
{$foo[bar]} <-- synthaxe uniquement valide dans une section de boucle, voir {section} {$foo[bar]} <-- synthaxe uniquement valide dans une section de boucle, voir {section}
{assign var=foo value="baa"}{$foo} <-- affiche "baa", voir {assign} {assign var=foo value='baa'}{$foo} <-- affiche "baa", voir {assign}
Plusieurs autres combinaisons sont autoris<69>es Plusieurs autres combinaisons sont autoris<69>es
@@ -46,9 +50,10 @@ Plusieurs autres combinaisons sont autoris
</example> </example>
<para> <para>
Les variables sp<73>ciales comme get, post, session, etc. sont <20>galement disponibles, Les variables sp<73>ciales comme $_GET, $_SESSION, etc. sont <20>galement disponibles,
lisez le chapitre sur les variables r<>serv<72>es lisez le chapitre sur les variables r<>serv<72>es
<link linkend="language.variables.smarty">$smarty</link> pour plus de d<>tails. <emphasis><link linkend="language.variables.smarty">$smarty</link></emphasis>
pour plus de d<>tails.
</para> </para>
<para> <para>

View File

@@ -1,15 +1,23 @@
<?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 -->
<chapter id="language.builtin.functions"> <chapter id="language.builtin.functions">
<title>Fonctions natives</title> <title>Fonctions natives</title>
<para> <para>
Smarty est fourni en standard avec plusieurs fonctions natives. Smarty est fourni en standard avec plusieurs fonctions natives.
Les fonctions natives sont partie int<6E>grante du language de template. Ces fonctions natives sont partie int<6E>grante du moteur de Smarty.
Vous ne pouvez pas cr<63>er de fonctions utilisateurs qui portent le m<>me nom Vous ne pouvez pas cr<63>er de
qu'une fonction native. Vous ne pouvez pas non plus en modifier le <link linkend="language.custom.functions">fonctions utilisateurs</link>
comportement. qui portent le m<>me nom qu'une fonction native et vous ne pouvez pas non
plus en modifier le comportement.
</para>
<para>
Quelques-unes de ces fonctions ont un attribut
<emphasis role="bold">assign</emphasis> qui r<>cup<75>re le r<>sultat de la
fonction et la place dans une variable nomm<6D>e dans le template plut<75>t que
de l'afficher.tout comme la fonction
<link linkend="language.function.assign">{assign}</link>.
</para> </para>
&designers.language-builtin-functions.language-function-capture; &designers.language-builtin-functions.language-function-capture;

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.11 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.13 Maintainer: gerald Status: ready -->
<sect1 id="language.function.capture"> <sect1 id="language.function.capture">
<title>{capture}</title> <title>{capture}</title>
@@ -8,14 +8,19 @@
<para> <para>
{capture} est utilis<69> pour r<>cup<75>rer la sortie d'<27>l<EFBFBD>ments dans une variable {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 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 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 sp<73>cifi<66> dans l'attribut name.
</para>
<para>
Le contenu captur<75> peut <20>tre utilis<69> dans
le template par l'interm<72>diaire de la variable sp<73>ciale le template par l'interm<72>diaire de la variable sp<73>ciale
<link linkend="language.variables.smarty.capture">$smarty.capture.foo</link> <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 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 <20> l'attribut name, alors "default" est utilis<69> en tant que nom, i.e.
{capture} doivent <20>tre utilis<69>es de paire avec {/capture}. Vous pouvez $smarty.capture.default.
imbriquer les demandes de captures. </para>
<para>
{capture} peut <20>tre imbriqu<71>.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
@@ -65,38 +70,32 @@
</caution> </caution>
<para> <para>
<example> <example>
<title>Capturer le contenu d'un template.</title> <title>{capture} avec le nom de l'attribut</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* nous ne voulons afficher une ligne que si cette derni<6E>re est activ<EFBFBD>. *} {* nous ne voulons afficher une balise div que si le contenu est affich<EFBFBD>. *}
{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> <div id="banner">{$smarty.capture.banner}</div>
<tr>
<td>
{$smarty.capture.banner}
</td>
</tr>
</table>
{/if} {/if}
]]> ]]>
</programlisting> </programlisting>
</example> </example>
<example> <example>
<title>Capturer le contenu dans une variable</title> <title>{capture} dans une variable de template</title>
<para>Cet exemple d<>montre <20>galement la fonction <para>Cet exemple d<>montre <20>galement la fonction
<link linkend="language.function.popup">{popup}</link> <link linkend="language.function.popup">{popup}</link>
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{capture name=some_content assign=popText} {capture name=some_content assign=popText}
.... du contenu .... Le serveur est {$smarty.server.SERVER_NAME|upper} sur {$smarty.server.SERVER_ADDR}<br>
Votre IP est {$smarty.server.REMOTE_ADDR}.
{/capture} {/capture}
<a href="#" {popup caption='Information sur le serveur' text=$popText}>Aide</a>
<a href="#" {popup caption='Help' text=$popText}>help</a>
]]> ]]>
</programlisting> </programlisting>
</example> </example>

View File

@@ -1,6 +1,6 @@
<?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.insert"> <sect1 id="language.function.insert">
<title>{insert}</title> <title>{insert}</title>
@@ -9,7 +9,7 @@
Les balises {insert} fonctionnent <20> peu pr<70>s comme les balises Les balises {insert} fonctionnent <20> peu pr<70>s comme les balises
<link linkend="language.function.include">include</link>, <link linkend="language.function.include">include</link>,
<20> l'exception que leur sortie n'est PAS plac<61>e en cache lorsque <20> l'exception que leur sortie n'est PAS plac<61>e en cache lorsque
<link linkend="caching">le cache</link> est activ<69>. <link linkend="caching">le cache</link> du template est activ<69>.
Les balises {insert} seront ex<65>cut<75>es <20> chaque appel du template. Les balises {insert} seront ex<65>cut<75>es <20> chaque appel du template.
</para> </para>

View File

@@ -1,6 +1,6 @@
<?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.11 Maintainer: gerald Status: ready -->
<sect1 id="language.function.php"> <sect1 id="language.function.php">
<title>{php}</title> <title>{php}</title>
@@ -9,11 +9,11 @@
template. Ils ne seront pas ignor<6F>s, quelle que soit la valeur de <link template. Ils ne seront pas ignor<6F>s, quelle que soit la valeur de <link
linkend="variable.php.handling">$php_handling</link>. Pour les linkend="variable.php.handling">$php_handling</link>. Pour les
utilisateurs avanc<6E>s seulement, son utilisation n'est normalement pas utilisateurs avanc<6E>s seulement, son utilisation n'est normalement pas
n<>cessaire. n<>cessaire et n'est pas recommand<6E>e.
</para> </para>
<example> <example>
<title>Balises {php}</title> <title>Balises {php}</title>
<programlisting role="php"> <programlisting>
<![CDATA[ <![CDATA[
{php} {php}
// inclusion directe d'un script PHP // inclusion directe d'un script PHP
@@ -32,14 +32,26 @@
</note> </note>
<example> <example>
<title>Balises {php} avec le mot cl<63> global</title> <title>Balises {php} avec le mot cl<63> global et assignement d'une variable</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
{php} {php}
global $foo, $bar; global $foo, $bar;
if($foo == $bar){ if($foo == $bar){
// do something echo 'Ceci appara<72>tera dans le template';
} }
$this->assign('varX','Strawberry');
{/php}
<strong>{$varX}</strong> est ma gl<67>ce favorite
]]>
</programlisting>
<para>
Ce qui suit n'est vrament PAS recommand<6E>, vu que c'est dans le contexte du template.
</para>
<programlisting>
<![CDATA[
{php}
print_r($some_array);
{/php} {/php}
]]> ]]>
</programlisting> </programlisting>

View File

@@ -1,11 +1,12 @@
<?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="language.function.assign"> <sect1 id="language.function.assign">
<title>{assign}</title> <title>{assign}</title>
<para> <para>
{assign} est utilis<69> pour d<>clarer ou modifier des variables de template. {assign} est utilis<69> pour d<>clarer des variables de template
<emphasis role="bold">durant l'ex<65>cution du template</emphasis>.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
@@ -73,7 +74,7 @@ La valeur de $name est Bob.
<example> <example>
<title>Acc<EFBFBD>s aux variables {assign} depuis un script PHP.</title> <title>Acc<EFBFBD>s aux variables {assign} depuis un script PHP.</title>
<para> <para>
Pour acc<63>der aux variables {assign} depuis PHP, utilisez Pour acc<63>der aux variables {assign} depuis le script PHP, utilisez
<link linkend="api.get.template.vars">get_template_vars()</link>. <link linkend="api.get.template.vars">get_template_vars()</link>.
Cependant, les variables ne sont disponibles qu'apr<70>s ou pendant l'ex<65>cution du Cependant, les variables ne sont disponibles qu'apr<70>s ou pendant l'ex<65>cution du
template, comme le montre l'exemple suivant : template, comme le montre l'exemple suivant :

View File

@@ -1,6 +1,6 @@
<?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.6 Maintainer: yannick Status: ready -->
<sect1 id="language.function.eval"> <sect1 id="language.function.eval">
<title>{eval}</title> <title>{eval}</title>
@@ -71,9 +71,8 @@
<title>{eval}</title> <title>{eval}</title>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
setup.conf #setup.conf
---------- #----------
emphstart = <strong> emphstart = <strong>
emphend = </strong> emphend = </strong>
titre = Bienvenue sur la homepage de {$company} ! titre = Bienvenue sur la homepage de {$company} !
@@ -82,16 +81,16 @@ ErrorDept = Vous devez sp
]]> ]]>
</programlisting> </programlisting>
<para> <para>
O<> index.tpl est : O<> le template est :
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{config_load file="setup.conf"} {config_load file='setup.conf'}
{eval var=$foo} {eval var=$foo}
{eval var=#titre#} {eval var=#titre#}
{eval var=#ErrorVille#} {eval var=#ErrorVille#}
{eval var=#ErrorDept# assign="state_error"} {eval var=#ErrorDept# assign='state_error'}
{$state_error} {$state_error}
]]> ]]>
</programlisting> </programlisting>
@@ -104,10 +103,33 @@ Ceci est le contenu de foo.
Bienvenue sur la homepage de FictifLand. Bienvenue sur la homepage de FictifLand.
Vous devez sp<73>cifier un nom de <strong>ville</strong>. Vous devez sp<73>cifier un nom de <strong>ville</strong>.
Vous devez sp<73>cifier un <strong>d<>partement</strong>. Vous devez sp<73>cifier un <strong>d<>partement</strong>.
]]> ]]>
</screen> </screen>
</example> </example>
<example>
<title>un autre exemple avec {eval}</title>
<para>
Ceci va afficher le nom du serveur (en majuscule) et son IP.
La variable $str <20>galement venir d'une requ<71>te de base de donn<6E>es.
</para>
<programlisting role="php">
<![CDATA[
// script php
$str = 'Le nom du serveur est {$smarty.server.SERVER_NAME|upper} '
.'at {$smarty.server.SERVER_ADDR}';
$smarty->assign('foo',$str);
]]>
</programlisting>
<para>
O<> le template est :
</para>
<programlisting>
<![CDATA[
{eval var=$foo}
]]>
</programlisting>
</example>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,17 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.19 Maintainer: gerald Status: ready --> <!-- EN-Revision: 1.23 Maintainer: gerald Status: ready -->
<chapter id="language.modifiers"> <chapter id="language.modifiers">
<title>Modificateurs de variables</title> <title>Modificateurs de variables</title>
<para> <para>
Les modificateurs de variables peuvent <20>tre appliqu<71>s aux variables, Les modificateurs de variables peuvent <20>tre appliqu<71>s aux
fonctions utilisateurs ou cha<68>nes de caract<63>res. Pour appliquer un modificateur <link linkend="language.syntax.variables">variables</link>,
<link linkend="language.custom.functions">fonctions utilisateurs</link>
ou cha<68>nes de caract<63>res. Pour appliquer un modificateur
de variable, tappez une valeure suivie de <literal>|</literal> de variable, tappez une valeure suivie de <literal>|</literal>
(pipe) et du nom du modificateur. Un modificateur de variable (pipe) et du nom du modificateur. Un modificateur de variable
est succeptible d'accepter des param<61>tres additionnels, qui en affectent est succeptible d'accepter des param<61>tres additionnels, qui en affectent
le comportement. Ces param<61>tres suivent le nom du modificateur et le comportement. Ces param<61>tres suivent le nom du modificateur et
sont s<>par<61>s par un <literal>:</literal> (deux points). sont s<>par<61>s par un <literal>:</literal> (deux points).
De plus, toutes les fonctions PHP peuvent <20>tre utilis<69>es en tant que modifieurs
implicitement.
</para> </para>
<example> <example>
<title>Exemple de modificateur</title> <title>Exemple de modificateur</title>
@@ -21,21 +25,35 @@
{$titre|upper} {$titre|upper}
{* modificateur avec param<61>tres *} {* modificateur avec param<61>tres *}
{$titre|truncate:40:"..."} {$titre|truncate:40:'...'}
{* applique un modificateur <20> un param<61>tre de fonction *} {* applique un modificateur <20> un param<61>tre de fonction *}
{html_table loop=$mavariable|upper} {html_table loop=$mavariable|upper}
{* avec param<61>tres *} {* avec param<61>tres *}
{html_table loop=$mavariable|truncate:40:"..."} {html_table loop=$mavariable|truncate:40:'...'}
{* applique un modificateur <20> une chaine de caract<63>res *} {* applique un modificateur <20> une chaine de caract<63>res *}
{"foobar"|upper} {'foobar'|upper}
{* utilise date_format pour mettre en forme la date *} {* utilise date_format pour mettre en forme la date *}
{$smarty.now|date_format:"%d/%m/%Y"} {$smarty.now|date_format:"%d/%m/%Y"}
{* applique un modificateur <20> une fonction utilisateur *} {* applique un modificateur <20> une fonction utilisateur *}
{mailto|upper address="moi@domaine.dom"} {mailto|upper address='smarty@example.com'}
{* utilisation de la fonction PHP str_repeat *}
{'='|str_repeat:80}
{* Compteur PHP *}
{$myArray|@count}
{* m<>lange al<61>atoire des IP du serveur gr<67>ce <20> PHP *}
{$smarty.server.SERVER_ADDR|shuffle}
(* ceci va mettre en majuscule et tronque le tableau *}
<select name="name_id">
{html_options output=$myArray|upper|truncate:20}
</select>
]]> ]]>
</programlisting> </programlisting>
</example> </example>
@@ -49,21 +67,21 @@
</para> </para>
<para> <para>
Les modificateurs sont charg<72>s automatiquement depuis votre r<>pertoire Les modificateurs sont charg<72>s automatiquement depuis votre r<>pertoire
de plugin <link linkend="variable.plugins.dir">$plugins_dir</link> (voir aussi: de plugin <link linkend="variable.plugins.dir">$plugins_dir</link>
<link linkend="plugins.naming.conventions">convention de nommage</link>) ou peuvent <20>tre enregistr<74>s explicitement avec <link
ou peuvent <20>tre enregistr<74>s explicitement (voir: <link linkend="api.register.modifier">register_modifier()</link> ; ceci est utile
linkend="api.register.modifier">register_modifier</link>). pour partager une fonction dans un scirpt PHP et les templates Smarty.
</para> </para>
<para> <para>
De m<>me, toutes les fonction php peuvent <20>tre utilis<69>es comme modificateur, Toutes les fonction PHP peuvent <20>tre utilis<69>es comme modificateur,
sans autre d<>claration. (L'exemple avec sans autre d<>claration. (L'exemple avec
<literal>@count</literal> ci dessus utilise la fonction count(), et non un modificateur <literal>@count</literal> ci-dessus utilise la fonction count(), et non un modificateur
Smarty. Utiliser des fonctions PHP en tant que modificateur comporte deux Smarty. Utiliser des fonctions PHP en tant que modificateur comporte deux
risques: Premi<6D>rement: il arrive que l'ordre des param<61>tres ne soit pas risques: Premi<6D>rement: il arrive que l'ordre des param<61>tres ne soit pas
celui attendu (<literal>{"%2.f"|sprintf:$float}</literal> fonctionne, celui attendu (<literal>{"%2.f"|sprintf:$float}</literal> fonctionne,
mais demande une syntaxe plus naturelle, par exemple<literal>{$float|string_format:"%2.f"}</literal> mais demande une syntaxe plus naturelle, par exemple<literal>{$float|string_format:"%2.f"}</literal>
fourni dans la distribution Smarty). Deuxi<78>mement : lorsque <link fourni dans la distribution Smarty). Deuxi<78>mement : lorsque <link
linkend="variable.security">$security</link> est activ<69>, les fonctions php linkend="variable.security">$security</link> est activ<69>, les fonctions PHP
utilis<69>es en tant que modificateur doivent <20>tre explicitement d<>clar<61>es utilis<69>es en tant que modificateur doivent <20>tre explicitement d<>clar<61>es
comme connues dans le tableau <link linkend="variable.security.settings"> comme connues dans le tableau <link linkend="variable.security.settings">
$security_settings['MODIFIER_FUNCS']</link>. $security_settings['MODIFIER_FUNCS']</link>.

View File

@@ -1,6 +1,6 @@
<?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.8 Maintainer: yannick Status: ready -->
<sect1 id="language.modifier.default"> <sect1 id="language.modifier.default">
<title>default</title> <title>default</title>
@@ -9,6 +9,14 @@
Si la variable est vide ou ind<6E>finie, la valeur donn<6E>e est affich<63>e Si la variable est vide ou ind<6E>finie, la valeur donn<6E>e est affich<63>e
en lieu et place. Default attends un seul argument. en lieu et place. Default attends un seul argument.
</para> </para>
<para>
<note>
<para>
Avec error_reporting(E_ALL), les variables non d<>clar<61>es lanceront toujours une erreur
dans le template. Cette fonction est utile pour remplacer les cha<68>nes vides ou de longueurs vides.
</para>
</note>
</para>
<informaltable frame="all"> <informaltable frame="all">
<tgroup cols="5"> <tgroup cols="5">
<colspec colname="param" align="center" /> <colspec colname="param" align="center" />

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.10 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.14 Maintainer: yannick Status: ready -->
<sect1 id="language.modifier.escape"> <sect1 id="language.modifier.escape">
<title>escape</title> <title>escape</title>
<para> <para>
"Echappe" les caract<63>res sp<73>ciaux html, d'url, pour Utile pour encoder / <20>chapper une variable pour quelles soient compatibles
les quotes d'une cha<68>ne, les valeurs pour les URL Html, pour les hexad<61>cimaux, pour les entit<69>s hexad<61>cimales, pour javascript
hexad<EFBFBD>cimales, les entit<69>s hexad<61>cimales ou javascript. et pour les e-mails.
Par d<>faut, ce param<61>tre est html. Par d<>faut, ce param<61>tre est html.
</para> </para>
<informaltable frame="all"> <informaltable frame="all">
@@ -76,12 +76,13 @@ $smarty->assign('EmailAddress','smarty@example.com');
<![CDATA[ <![CDATA[
{$titreArticle} {$titreArticle}
{$titreArticle|escape} {$titreArticle|escape}
{$titreArticle|escape:"html"} {* escapes &amp; &quot; &#039; &lt; &gt; *} {$titreArticle|escape:'html'} {* escapes &amp; &quot; &#039; &lt; &gt; *}
{$titreArticle|escape:"htmlall"} {* escapes ALL html entities *} {$titreArticle|escape:'htmlall'} {* escapes ALL html entities *}
{$titreArticle|escape:"url"} {$titreArticle|escape:'url'}
{$titreArticle|escape:"quotes"} {$titreArticle|escape:'quotes'}
<a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a> <a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a>
{$EmailAddress|escape:'mail'} {$EmailAddress|escape:'mail'} {* ceci convertit l'e-mail en texte *}
{'mail@example.com'|escape:'mail'}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
@@ -97,6 +98,7 @@ $smarty->assign('EmailAddress','smarty@example.com');
\'Stiff Opposition Expected to Casketless Funeral Plan\' \'Stiff Opposition Expected to Casketless Funeral Plan\'
<a href="mailto:%62%6f%..snip..%65%74">&#x62;&#x6f;&#x62..snip..&#x65;&#x74;</a> <a href="mailto:%62%6f%..snip..%65%74">&#x62;&#x6f;&#x62..snip..&#x65;&#x74;</a>
smarty [AT] example [DOT] com smarty [AT] example [DOT] com
mail [AT] example [DOT] com
]]> ]]>
</screen> </screen>
<para> <para>
@@ -108,11 +110,21 @@ smarty [AT] example [DOT] com
<a href="{$SCRIPT_NAME}?page=foo&rewind={$smarty.server.REQUEST_URI|urlencode}">click here</a> <a href="{$SCRIPT_NAME}?page=foo&rewind={$smarty.server.REQUEST_URI|urlencode}">click here</a>
]]> ]]>
</screen> </screen>
<para>
Et ceci est utile pour les e-mails, mais lisez plut<75>t la documentation de
<link linkend="language.function.mailto">{mailto}</link></para>
<screen>
<![CDATA[
{* email address mangled *}
<a href="mailto:{$EmailAddress|escape:'hex'}">{$EmailAddress|escape:'mail'}</a>
]]>
</screen>
</example> </example>
<para> <para>
Voir aussi la Voir aussi la
<link linkend="language.escaping">d<EFBFBD>sactivation de l'analyse de Smarty</link> et l'<link linkend="language.escaping">anayse Smarty d'<27>chappement</link>,
le <link linkend="tips.obfuscating.email">mascage des adresses E-mail</link>. <link linkend="language.function.mailto">{mailto}</link> et
le <link linkend="tips.obfuscating.email">mascage des adresses e-mail</link>.
</para> </para>
</sect1> </sect1>

View File

@@ -1,6 +1,6 @@
<?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="language.modifier.nl2br"> <sect1 id="language.modifier.nl2br">
<title>nl2br</title> <title>nl2br</title>
@@ -10,7 +10,7 @@
</para> </para>
<example> <example>
<title>nl2br</title> <title>nl2br</title>
<programlisting role="php"> <programlisting role="php">
<![CDATA[ <![CDATA[
<?php <?php
@@ -20,30 +20,30 @@ $smarty->assign('articleTitle',
?> ?>
]]> ]]>
</programlisting> </programlisting>
<para> <para>
O<EFBFBD> le template est : O<EFBFBD> le template est :
</para> </para>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{$TitreArticle|nl2br} {$TitreArticle|nl2br}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
Ce qui donne en sortie : Affichera :
</para> </para>
<screen> <screen>
<![CDATA[ <![CDATA[
Pluie ou soleil attendu<br />aujourd'hui, nuit noire Pluie ou soleil attendu<br />aujourd'hui, nuit noire
]]> ]]>
</screen> </screen>
</example> </example>
<para> <para>
Voir aussi Voir aussi
<link linkend="language.modifier.wordwrap">word_wrap</link>, <link linkend="language.modifier.wordwrap">word_wrap</link>,
<link linkend="language.modifier.count.paragraphs">count_paragraphs</link> et <link linkend="language.modifier.count.paragraphs">count_paragraphs</link> et
<link linkend="language.modifier.count.sentences">count_sentences</link>. <link linkend="language.modifier.count.sentences">count_sentences</link>.
</para> </para>
</sect1> </sect1>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ --> <!-- $Revision$ -->
<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.6 Maintainer: yannick Status: ready -->
<sect1 id="language.modifier.truncate"> <sect1 id="language.modifier.truncate">
<title>truncate</title> <title>truncate</title>
@@ -90,6 +90,7 @@ O
{$titreArticle|truncate:30:"---"} {$titreArticle|truncate:30:"---"}
{$titreArticle|truncate:30:"":true} {$titreArticle|truncate:30:"":true}
{$titreArticle|truncate:30:"...":true} {$titreArticle|truncate:30:"...":true}
{$articleTitle|truncate:30:'..':true:true}
]]> ]]>
</programlisting> </programlisting>
<para> <para>
@@ -103,6 +104,7 @@ Deux soeurs r
Deux soeurs r<>unies apr<70>s--- Deux soeurs r<>unies apr<70>s---
Deux soeurs r<>unies apr<70>s 18 a Deux soeurs r<>unies apr<70>s 18 a
Deux soeurs r<>unies apr<70>s 1... Deux soeurs r<>unies apr<70>s 1...
Deux soeurs ... de s<>paration.
]]> ]]>
</screen> </screen>
</example> </example>

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.12 Maintainer: yannick Status: ready --> <!-- EN-Revision: 1.14 Maintainer: yannick Status: ready -->
<sect1 id="language.variables.smarty"> <sect1 id="language.variables.smarty">
<title>Variable r<>serv<72>e {$smarty}</title> <title>Variable r<>serv<72>e {$smarty}</title>
<para> <para>
La variable PHP r<>serv<72>e {$smarty} peut <20>tre utilis<69>e pour acc<63>der <20> plusieurs La variable PHP r<>serv<72>e {$smarty} peut <20>tre utilis<69>e pour acc<63>der <20> plusieurs
variables sp<EFBFBD>ciales du template. En voici la liste compl<70>te. variables d'environnements. En voici la liste compl<70>te.
</para> </para>
<sect2 id="language.variables.smarty.request"> <sect2 id="language.variables.smarty.request">
@@ -51,6 +51,12 @@
directement, cependant, {$smarty.server.SCRIPT_NAME} est directement, cependant, {$smarty.server.SCRIPT_NAME} est
la solution propos<6F>e pour acc<63>der <20> cette valeur. la solution propos<6F>e pour acc<63>der <20> cette valeur.
</para> </para>
<programlisting>
<![CDATA[
<a href="{$SCRIPT_NAME}?page=smarty">click me</a>
<a href="{$smarty.server.SCRIPT_NAME}?page=smarty">click me</a>
]]>
</programlisting>
</note> </note>
</sect2> </sect2>
@@ -59,10 +65,12 @@
<para> <para>
Le <ulink url="&url.php-manual;function.time">timestamp</ulink> Le <ulink url="&url.php-manual;function.time">timestamp</ulink>
courant peut <20>tre r<>cup<75>r<EFBFBD> gr<67>ce <20> {$smarty.now}. courant peut <20>tre r<>cup<75>r<EFBFBD> gr<67>ce <20> {$smarty.now}.
Le nombre obtenu correspond au nombre de secondes <20>coul<75>es depuis La valeur correspond au nombre de secondes <20>coul<75>es depuis
Epoch (1 Janvier 1970) et peut <20>tre pass<73> directement au modificateur Epoch (1 Janvier 1970) et peut <20>tre pass<73> directement au modificateur
de variable date <link linkend="language.modifier.date.format">date_format</link> de variable date <link linkend="language.modifier.date.format">date_format</link>
<20> des fins d'affichage. <20> des fins d'affichage. Notez que time() est appel<65> <20> chaque invocation, i.e.
un script qui prend 3 secondes <20> s'ex<65>cuter avec $smarty.now au d<>but et <20> la fin montrera
les 3 secondes de diff<66>rence.
</para> </para>
<example> <example>
<title>Utilisation de {$smarty.now}</title> <title>Utilisation de {$smarty.now}</title>
@@ -82,9 +90,16 @@
Voir aussi les <link linkend="smarty.constants">constantes smarty</link>. Voir aussi les <link linkend="smarty.constants">constantes smarty</link>.
</para> </para>
<example> <example>
<title>Utiliser {$smarty.const}</title> <title>Utiliser {$smarty.const} pour acc<63>der aux constantes</title>
<programlisting role="php">
<![CDATA[
// la constante d<>finie dans PHP
define('_MY_CONST_VAL','CHERRIES');
]]>
</programlisting>
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
{* la sortie de la constante PHP dans le template *}
{$smarty.const._MA_CONSTANTE_} {$smarty.const._MA_CONSTANTE_}
]]> ]]>
</programlisting> </programlisting>
@@ -94,9 +109,9 @@
<sect2 id="language.variables.smarty.capture"> <sect2 id="language.variables.smarty.capture">
<title>{$smarty.capture}</title> <title>{$smarty.capture}</title>
<para> <para>
La capture r<>alis<69>e via La sortie du template r<>alis<69>e via
<link linkend="language.function.capture">{capture}..{/capture}</link> <link linkend="language.function.capture">{capture}..{/capture}</link>
peut <20>tre r<>cup<75>r<EFBFBD>e par l'interm<72>diaire de la variable {$smarty}. Voir la section peut <20>tre r<>cup<75>r<EFBFBD>e par l'interm<72>diaire de la variable {$smarty.capture}. Voir la section
sur <link linkend="language.function.capture">{capture}</link> pour un sur <link linkend="language.function.capture">{capture}</link> pour un
exemple <20> ce sujet. exemple <20> ce sujet.
</para> </para>
@@ -120,27 +135,47 @@
des boucles 'section' et 'foreach'. Voir la documentation de des boucles 'section' et 'foreach'. Voir la documentation de
<link linkend="language.function.section">{section}</link> et <link linkend="language.function.section">{section}</link> et
<link linkend="language.function.foreach">{foreach}</link>. <link linkend="language.function.foreach">{foreach}</link>.
Ils ont des valeurs vraiment utiles comme .first, .index, etc.
</para> </para>
</sect2> </sect2>
<sect2 id="language.variables.smarty.template"> <sect2 id="language.variables.smarty.template">
<title>{$smarty.template}</title> <title>{$smarty.template}</title>
<para> <para>
Cette variable contient le nom du template en cours de traitement. Retourne le nom du template courant. Cet exemple montre le container.tpl
ainsi que le banner.tpl inclu avec {$smarty.template}.
</para> </para>
<programlisting>
<![CDATA[
<b>Le conteneur principal est {$smarty.template}</b>
{include file='banner.tpl}
]]>
</programlisting>
Affichera :
<programlisting>
<![CDATA[
<b>Le conteneur principal est container.tpl</b>
banner.tpl
]]>
</programlisting>
</sect2> </sect2>
<sect2 id="language.variables.smarty.version"> <sect2 id="language.variables.smarty.version">
<title>{$smarty.version}</title> <title>{$smarty.version}</title>
<para> <para>
Cette variable contient la version de Smarty utilis<EFBFBD>e pour compiler un template. Retourne la version de Smarty ayant servie <20> compiler le template.
</para> </para>
<programlisting>
<![CDATA[
<div id="footer">G<>n<EFBFBD>r<EFBFBD> par Smarty {$smarty.version}</div>
]]>
</programlisting>
</sect2> </sect2>
<sect2 id="language.variables.smarty.ldelim"> <sect2 id="language.variables.smarty.ldelim">
<title>{$smarty.ldelim}, {$smarty.rdelim}</title> <title>{$smarty.ldelim}, {$smarty.rdelim}</title>
<para> <para>
Cette variable est utilis<69>e pour afficher le d<>l<EFBFBD>miteur gauche et le d<>limiteur droit. Lisez aussi Ces variables sont utilis<69>es pour afficher le d<>l<EFBFBD>miteur gauche et le d<>limiteur droit. Lisez aussi
la partie <link linkend="language.function.ldelim">{ldelim},{rdelim}</link>. la partie <link linkend="language.function.ldelim">{ldelim},{rdelim}</link>.
</para> </para>
<para> <para>