sync with EN

This commit is contained in:
yannick
2005-09-03 08:53:14 +00:00
parent f61142ac2b
commit 1fc4d122b4
6 changed files with 194 additions and 137 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.7 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
<sect1 id="language.function.capture">
<title>{capture}</title>
<informaltable frame="all">
@@ -76,7 +76,7 @@
<![CDATA[
{* nous ne voulons afficher une ligne que si cette derni<6E>re est activ<69>. *}
{capture name=banner}
{include file="get_banner.tpl"}
{include file="get_banner.tpl"}
{/capture}
{if $smarty.capture.banner ne ""}
<table>
@@ -92,7 +92,9 @@
</example>
</para>
<para>
Voir aussi
Voir aussi
<link
linkend="language.variables.smarty.capture">$smarty.capture</link>,
<link linkend="language.function.eval">{eval}</link>,
<link linkend="language.function.fetch">{fetch}</link>,
<link linkend="api.fetch">fetch()</link> et

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.9 Maintainer: gerald Status: ready -->
<sect1 id="language.function.config.load">
<title>{config_load}</title>
<informaltable frame="all">
@@ -68,17 +68,36 @@
<para>
{config_load} est utilise<73> pour charger des variables <link
linkend="language.config.variables">#variables#</link>
de configuration dans un template. Voir <link linkend="config.files">
Fichiers de configuration</link> pour de plus amples informations.
depuis un <link linkend="config.files">fichier de configuration</link>
dans un template.
</para>
<example>
<title>fonction {config_load}</title>
<para>
example.conf
</para>
<programlisting>
<![CDATA[
#ceci est un commentaire de fichier de configuration
#variables globales
pageTitle = "Menu principal"
bodyBgColor = #000000
tableBgColor = #000000
rowBgColor = #00ff00
#section de variables personnalis<69>es
[Customer]
pageTitle = "Info personnalis<69>e"
]]>
</programlisting>
<para>et le template</para>
<programlisting>
<![CDATA[
{config_load file="colors.conf"}
{config_load file="example.conf"}
<html>
<title>{#pageTitle#}</title>
<title>{#pageTitle#|default:"No title"}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
<tr bgcolor="{#rowBgColor#}">
@@ -95,20 +114,21 @@
<para>
Les <link linkend="config.files">fichiers de configuration</link> peuvent contenir des sections.
Vous pouvez charger des variables d'une section donn<6E>e avec le
nouvel attribut <emphasis>section</emphasis>.
nouvel attribut <emphasis>'section'</emphasis>.
</para>
<note>
<para>
Les <emphasis>sections des fichiers de configuration</emphasis>
et la fonction native <emphasis>section</emphasis> n'ont rien en
commun, il s'av<61>re simplement qu'elles portent le m<>me nom.
et la fonction native
<link linkend="language.function.section"><emphasis>{section}</emphasis></link>
n'ont rien en commun, il s'av<61>re simplement qu'elles portent le m<>me nom.
</para>
</note>
<example>
<title>fonction config_load et section</title>
<title>fonction {config_load} avec section</title>
<programlisting>
<![CDATA[
{config_load file="colors.conf" section="client"}
{config_load file="example.conf" section="Customer"}
<html>
<title>{#pageTitle#}</title>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.7 Maintainer: gerald Status: ready -->
<sect1 id="language.function.foreach">
<title>{foreach},{foreachelse}</title>
<informaltable frame="all">
@@ -95,7 +95,6 @@ $smarty->assign('custid', $arr);
</para>
<screen>
<![CDATA[
id: 1000<br />
id: 1001<br />
id: 1002<br />
@@ -110,20 +109,21 @@ id: 1002<br />
// key contient la clef de chaque <20>l<EFBFBD>ment parcouru
// L'assignement ressemble <20> ceci :
<?php
$smarty->assign("contacts", array(
array("phone" => "1",
"fax" => "2",
"cell" => "3"),
array("phone" => "555-4444",
"fax" => "555-3333",
"cell" => "760-1234"))
);
$smarty->assign('contacts', array(
array('phone' => '1',
'fax' => '2',
'cell' => '3'),
array('phone' => '555-4444',
'fax' => '555-3333',
'cell' => '760-1234'))
);
?>
]]>
</programlisting>
</programlisting>
<programlisting>
<![CDATA[
{foreach name=outer item=contact from=$contacts}
<hr />
{foreach key=key item=item from=$contact}
{$key}: {$item}<br />
{/foreach}
@@ -135,12 +135,14 @@ id: 1002<br />
</para>
<screen>
<![CDATA[
tel: 1<br />
fax: 2<br />
portable: 3<br />
tel: 555-4444<br />
fax: 555-3333<br />
portable: 760-1234<br />
<hr />
phone: 1<br />
fax: 2<br />
cell: 3<br />
<hr />
phone: 555-4444<br />
fax: 555-3333<br />
cell: 760-1234<br />
]]>
</screen>
</example>
@@ -173,6 +175,10 @@ $smarty->assign("contacts", $db->getAssoc($sql));
de foreach.
</para>
<para>Voir <link linkend="section.property.index">{section}</link>
pour des exemples avec les prori<72>t<EFBFBD>s ci-dessus.
</para>
<sect2 id="foreach.property.iteration">
<title>iteration</title>
<para>
@@ -204,7 +210,7 @@ $smarty->assign("contacts", $db->getAssoc($sql));
S'il vaut false, foreach ne sera pas affich<63>. Si foreachelse est pr<70>sent,
il sera affich<63> alternativement.
</para>
</sect2>
<sect2 id="foreach.property.total">
<title>total</title>
@@ -213,7 +219,7 @@ $smarty->assign("contacts", $db->getAssoc($sql));
boucl<63>es par ce foreach. Il peut <20>tre utilis<69> dans ou apr<70>s le foreach.
</para>
<para>
Voir aussi
Voir aussi
<link linkend="language.function.section">{section}</link> et
<link linkend="language.variables.smarty.loops">$smarty.foreach</link>.
</para>

View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.4 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.5 Maintainer: gerald Status: ready -->
<sect1 id="language.function.if">
<title>{if},{elseif},{else}</title>
<para>
L'instruction <emphasis>{if}</emphasis> dans Smarty dispose de la m<>me flexibilit<69> que l'instruction
PHP du m<>me nom, avec quelques fonctionnalit<69>s suppl<70>mentaires pour le
PHP <ulink url="&url.php-manual;if"><command>if</command></ulink>,
avec quelques fonctionnalit<69>s suppl<70>mentaires pour le
moteur de template. Tous les <emphasis>{if}</emphasis> doivent <20>tre
utilis<69>s de pair avec un <emphasis>{/if}</emphasis>.
<emphasis>{else}</emphasis> et <emphasis>{elseif}</emphasis> sont <20>galement
@@ -138,70 +139,70 @@
</tgroup>
</informaltable>
<example>
<title>Instruction if</title>
<title>Instruction {if}</title>
<programlisting>
<![CDATA[
{if $name eq "Fred"}
Bienvenue, Monsieur.
{elseif $name eq "Wilma"}
Bienvenue m'dame.
{else}
Bienvenue, qui que vous soyez.
{/if}
{if $name eq "Fred"}
Bienvenue, Monsieur.
{elseif $name eq "Wilma"}
Bienvenue m'dame.
{else}
Bienvenue, qui que vous soyez.
{/if}
{* Un exemple avec l'op<6F>rateur or *}
{if $name eq "Fred" or $name eq "Wilma"}
...
{/if}
{* Un exemple avec l'op<6F>rateur or *}
{if $name eq "Fred" or $name eq "Wilma"}
...
{/if}
{* m<>me chose que ci-dessus *}
{if $name == "Fred" || $name == "Wilma"}
...
{/if}
{* m<>me chose que ci-dessus *}
{if $name == "Fred" || $name == "Wilma"}
...
{/if}
{* l'exemple suivant NE fonctionne PAS, les op<6F>rateurs
doivent <20>tre entour<75>s d'espaces. *}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* l'exemple suivant NE fonctionne PAS, les op<6F>rateurs
doivent <20>tre entour<75>s d'espaces. *}
{if $name=="Fred" || $name=="Wilma"}
...
{/if}
{* les parenth<74>ses sont autoris<69>es *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* les parenth<74>ses sont autoris<69>es *}
{if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
...
{/if}
{* vous pouvez <20>galement faire appel aux fonctions PHP *}
{if count($var) gt 0}
...
{/if}
{* vous pouvez <20>galement faire appel aux fonctions PHP *}
{if count($var) gt 0}
...
{/if}
{* teste si les valeurs sont paires(even) ou impaires(odd) *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* teste si les valeurs sont paires(even) ou impaires(odd) *}
{if $var is even}
...
{/if}
{if $var is odd}
...
{/if}
{if $var is not odd}
...
{/if}
{* teste si la variable est divisible par 4 *}
{if $var is div by 4}
...
{/if}
{* teste si la variable est divisible par 4 *}
{if $var is div by 4}
...
{/if}
{* teste si la variable est paire, par groupe de deux i.e.,
0=paire, 1=paire, 2=impaire, 3=impaire, 4=paire, 5=paire, etc. *}
{if $var is even by 2}
...
{/if}
{* teste si la variable est paire, par groupe de deux i.e.,
0=paire, 1=paire, 2=impaire, 3=impaire, 4=paire, 5=paire, etc. *}
{if $var is even by 2}
...
{/if}
{* 0=paire, 1=paire, 2=paire, 3=impaire, 4=impaire, 5=impaire, etc. *}
{if $var is even by 3}
...
{/if}
{* 0=paire, 1=paire, 2=paire, 3=impaire, 4=impaire, 5=impaire, etc. *}
{if $var is even by 3}
...
{/if}
]]>
</programlisting>
</example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
<sect1 id="language.function.include.php">
<title>{include_php}</title>
<informaltable frame="all">
@@ -49,38 +49,25 @@
<note>
<title>Technical Note</title>
<para>
include_php est presque obsol<6F>te dans Smarty. Vous pouvez obtenir des r<>sultats
{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
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 plugins ou de votre application. Reportez vous <20>
l'exemple des <link
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>
Les balises include_php sont utilis<69>es pour inclure directement
Les balises {include_php} sont utilis<69>es pour inclure directement
un script PHP dans vos templates. Si <link linkend="variable.security">"security" est activ<69></link>,
alors le script
<20> ex<65>cuter doit <20>tre plac<61> dans le chemin <link
alors le script <20> ex<65>cuter doit <20>tre plac<61> dans le chemin <link
linkend="variable.trusted.dir">$trusted_dir</link>. La balise
include_php attends l'attribut "file", qui contient le chemin du
{include_php} attends l'attribut "file", qui contient le chemin du
fichier PHP <20> inclure, relatif <20> <link linkend="variable.trusted.dir">$trusted_dir</link>, ou absolu.
</para>
<para>
include_php est un moyen agr<67>able pour g<>rer des <link
linkend="tips.componentized.templates">"composants templates"</link>,
tout en conservant le code PHP en dehors du template lui m<>me.
Supposons que vous ayez un template reprenant la navigation de votre
site, elle m<>me r<>cup<75>r<EFBFBD>e depuis une base de donn<6E>es. Vous pouvez
conserver la logique du code PHP r<>cup<75>rant le contenu de la base dans
un emplacement s<>par<61>, et l'inclure depuis votre template. Maintenant,
vous pouvez utiliser ce template n'importe ou, sans vous inqui<75>ter de
savoir si les informations n<>cessaires ont bien <20>t<EFBFBD>s assign<67>es
par l'application, avant la demande d'affichage.
</para>
<para>
Par d<>faut, les fichiers PHP ne sont inclus qu'une seule fois, m<>me si
la demande d'inclusion survient plusieurs fois dans le template.
@@ -92,41 +79,39 @@
<para>
Vous pouvez donner une valeur <20> l'attribut optionnel
<emphasis>assign</emphasis>, pour demander <20> la fonction
<emphasis>include_php</emphasis> d'assigner la sortie du script PHP
<emphasis>{include_php}</emphasis> d'assigner la sortie du script PHP
<20> la variable sp<73>cifi<66>e plut<75>t que d'en afficher directement le r<>sultat.
</para>
<para>
L'objet Smarty est disponible en tant que $this dans le script PHP inclus.
</para>
<example>
<title>Fonction include_php</title>
<programlisting>
<title>Fonction {include_php}</title>
<para>load_nav.php</para>
<programlisting role="php">
<![CDATA[
load_nav.php
-------------
<?php
<?php
// charge des variables depuis une base de donn<6E>es mysql et les assigne au template.
require_once("MySQL.class.php");
$sql = new MySQL;
$sql->query("select * from site_nav_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record);
// charge des variables depuis une base de donn<6E>es mysql et les assigne au template.
require_once("MySQL.class.php");
$sql = new MySQL;
$sql->query("select * from site_nav_sections order by name",SQL_ALL);
$this->assign('sections',$sql->record);
?>
]]>
?>
]]>
</programlisting>
<para>
O<> index.tpl est :
</para>
<programlisting>
<![CDATA[
{* chemin absolu, ou relatif <20> $trusted_dir *}
{include_php file="/chemin/vers/load_nav.php"}
{* chemin absolu, ou relatif <20> $trusted_dir *}
{include_php file="/chemin/vers/load_nav.php"}
{foreach item="curr_section" from=$sections}
<a href="{$curr_section.url}">{$curr_section.name}</a><br />
{/foreach}
{foreach item="curr_section" from=$sections}
<a href="{$curr_section.url}">{$curr_section.name}</a><br />
{/foreach}
]]>
</programlisting>
</example>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.6 Maintainer: gerald Status: ready -->
<!-- EN-Revision: 1.8 Maintainer: gerald Status: ready -->
<sect1 id="language.function.include">
<title>{include}</title>
<informaltable frame="all">
@@ -53,18 +53,29 @@
"file", qui contient le chemin de la ressource template.
</para>
<para>
Vous pouvez sp<73>cifier un attribut optionnel <emphasis>assign</emphasis>
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>
<title>fonction include</title>
<programlisting>
{include file="header.tpl"}
<title>fonction {include}</title>
<programlisting>
<![CDATA[
<html>
<head>
<title>{$title}</title>
</head>
<body>
{include file="page_header.tpl"}
{* Le corp du template va ici *}
{* body of template goes here *}
{include file="/$tpl_name.tpl"} <-- remplace $tpl_name avec la valeur
{include file="footer.tpl"}</programlisting>
{include file="page_footer.tpl"}
</body>
</html>
]]>
</programlisting>
</example>
<para>
Vous pouvez <20>galement passer des variables au template inclus
@@ -74,14 +85,46 @@
qui auraient le m<>me nom.
</para>
<example>
<title>fonction include, passage de variables</title>
<programlisting>
<title>fonction {include}, passage de variables</title>
<programlisting>
<![CDATA[
{include file="header.tpl" title="Menu principal" table_bgcolor="#c0c0c0"}
{* Le corps du template vient ici *}
{include file="footer.tpl" logo="http://mon.example.com/logo.gif"}
]]>
</programlisting>
<para>o<EFBFBD> header.tpl est :</para>
<programlisting>
<![CDATA[
<table border='1' width='100%' bgcolor='{$table_bgcolor|default:"#0000FF"}'>
<tr><td>
<h1>{$title}</h1>
</td></tr>
</table>
]]>
</programlisting>
</example>
<example>
<title>{include} et assignement <20> une variable</title>
<para>Cet exemple assigne le contenu de nav.tpl <20> la variable $navbar,
qui est alors affich<63>e en haut et en bas de la page.
</para>
<programlisting>
<![CDATA[
<body>
{include file="nav.tpl" assign="navbar"}
{include file="header.tpl" title="Main Menu" table_bgcolor="#c0c0c0"}
{$navbar}
{* body of template goes here *}
{include file="footer.tpl" logo="http://my.example.com/logo.gif"}
{$navbar}
</body>
]]>
</programlisting>
</example>
@@ -91,7 +134,7 @@
des fichiers situ<74>s en dehors du r<>pertoire $template_dir.
</para>
<example>
<title>fonction include, exemple de ressource template</title>
<title>fonction {include}, exemple de ressource template</title>
<programlisting>
<![CDATA[
{* chemin absolu *}
@@ -112,7 +155,7 @@
Voir aussi
<link linkend="language.function.include.php">{include_php}</link>,
<link linkend="language.function.php">{php}</link>,
<link linkend="template.resources">les ressources de template</link> et
<link linkend="template.resources">les ressources de template</link> et
<link linkend="tips.componentized.templates">les templates composants</link>.
</para>
</sect1>