mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-07 03:44:26 +02:00
sync with EN
This commit is contained in:
@@ -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: didou Status: ready -->
|
<!-- EN-Revision: 1.9 Maintainer: didou Status: ready -->
|
||||||
<chapter id="tips">
|
<chapter id="tips">
|
||||||
<title>Trucs et astuces</title>
|
<title>Trucs et astuces</title>
|
||||||
<para></para>
|
<para></para>
|
||||||
@@ -14,10 +14,11 @@
|
|||||||
instruction <link linkend="language.function.if">{if}</link>
|
instruction <link linkend="language.function.if">{if}</link>
|
||||||
pour g<>rer cel<65>, mais il existe un moyen
|
pour g<>rer cel<65>, mais il existe un moyen
|
||||||
plus facile dans Smarty : l'utilisation du modificateur
|
plus facile dans Smarty : l'utilisation du modificateur
|
||||||
de variable <emphasis>default</emphasis>.
|
de variable <link
|
||||||
|
linkend="language.modifier.default"><emphasis>d<EFBFBD>faut</emphasis></link>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>afficher &nbsp; quand une variable est vide</title>
|
<title>Afficher &nbsp; quand une variable est vide</title>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
{* la m<>thode pas adapt<70>e *}
|
{* la m<>thode pas adapt<70>e *}
|
||||||
@@ -68,58 +69,77 @@
|
|||||||
<link linkend="tips.blank.var.handling">la gestion des variables non-assign<67>es</link>.
|
<link linkend="tips.blank.var.handling">la gestion des variables non-assign<67>es</link>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="tips.passing.vars">
|
<sect1 id="tips.passing.vars">
|
||||||
<title>Passage du titre <20> un template d'en-t<>te</title>
|
<title>Passage du titre <20> un template d'en-t<>te</title>
|
||||||
<para>
|
<para>
|
||||||
Quand la majorit<69> de vos templates utilisent les m<>mes en-t<>te et pied-de-page,
|
Quand la majorit<69> de vos templates utilisent les m<>mes en-t<>te et pied-de-page,
|
||||||
il est d'usage de les mettre dans leurs propres templates et de les inclure.
|
il est d'usage de les mettre dans leurs propres templates et de les inclure
|
||||||
|
(<link linkend="language.function.include">{include}</link>).
|
||||||
Mais comment faire si l'en-t<>te doit avoir un titre diff<66>rent, selon la page
|
Mais comment faire si l'en-t<>te doit avoir un titre diff<66>rent, selon la page
|
||||||
d'o<> on vient ? Vous pouvez passer le titre <20> l'en-t<>te quand il est inclus.
|
d'o<> on vient ? Vous pouvez passer le titre <20> l'en-t<>te quand il est inclus.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title>passer le titre au template d'en-t<>te</title>
|
<title>passer le titre au template d'en-t<>te</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<filename>mainpage.tpl</filename>
|
||||||
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
mainpage.tpl
|
|
||||||
------------
|
|
||||||
|
|
||||||
{include file="header.tpl" title="Main Page"}
|
{include file="header.tpl" title="Main Page"}
|
||||||
{* le corps du template va ici *}
|
{* le corps du template va ici *}
|
||||||
{include file="footer.tpl"}
|
{include file="footer.tpl"}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
<para>
|
||||||
archives.tpl
|
<filename>archives.tpl</filename>
|
||||||
------------
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
{config_load file="archive_page.conf"}
|
{config_load file="archive_page.conf"}
|
||||||
{include file="header.tpl" title=#archivePageTitle#}
|
{include file="header.tpl" title=#archivePageTitle#}
|
||||||
{* le corps du template va ici *}
|
{* template body goes here *}
|
||||||
{include file="footer.tpl"}
|
{include file="footer.tpl"}
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<filename>header.tpl</filename>
|
||||||
|
</para>
|
||||||
|
<programlisting>
|
||||||
|
<![CDATA[
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>{$title|default:"BC News"}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
]]>
|
||||||
|
</programlisting>
|
||||||
|
|
||||||
header.tpl
|
<para>
|
||||||
----------
|
<filename>footer.tpl</filename>
|
||||||
<HTML>
|
</para>
|
||||||
<HEAD>
|
<programlisting>
|
||||||
<TITLE>{$title|default:"BC News"}</TITLE>
|
<![CDATA[
|
||||||
</HEAD>
|
</body>
|
||||||
<BODY>
|
</html>
|
||||||
|
|
||||||
|
|
||||||
footer.tpl
|
|
||||||
----------
|
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Quand la page principale est con<6F>ue, le titre "Main page" est pass<73> <20> header.tpl
|
Quand la page principale est con<6F>ue, le titre "Main page" est pass<73> <20>
|
||||||
et sera donc utilis<69> pour le titre. Quand la page d'archive est con<6F>ue,
|
<filename>header.tpl</filename> et sera donc utilis<69> pour le titre.
|
||||||
le titre sera "Archives". Notez que dans l'exemple des archives, on utilise
|
Quand la page d'archive est con<6F>ue, le titre sera "Archives".
|
||||||
le fichier archives_page.conf plut<75>t que des variables cod<6F>es en dur.
|
Notez que dans l'exemple des archives, on utilise
|
||||||
Remarquez aussi que "BC News" est affich<63>e si la variable $title
|
le fichier <filename>archives_page.conf</filename> plut<75>t que des
|
||||||
n'est pas d<>finie, gr<67>ce au modificateur de variable
|
variables cod<6F>es en dur. Remarquez aussi que "BC News" est affich<63>e
|
||||||
|
si la variable $title n'est pas d<>finie, gr<67>ce au modificateur de variable
|
||||||
<link linkend="language.modifier.default">default</link>.
|
<link linkend="language.modifier.default">default</link>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
@@ -192,7 +212,7 @@ Jan 4, 2001
|
|||||||
|
|
||||||
$startDate = makeTimeStamp($startDate_Year, $startDate_Month, $startDate_Day);
|
$startDate = makeTimeStamp($startDate_Year, $startDate_Month, $startDate_Day);
|
||||||
|
|
||||||
function makeTimeStamp($year="", $month="", $day="")
|
function makeTimeStamp($year='', $month='', $day='')
|
||||||
{
|
{
|
||||||
if(empty($year)) {
|
if(empty($year)) {
|
||||||
$year = strftime("%Y");
|
$year = strftime("%Y");
|
||||||
@@ -215,25 +235,28 @@ function makeTimeStamp($year="", $month="", $day="")
|
|||||||
Voir aussi
|
Voir aussi
|
||||||
<link linkend="language.function.html.select.date">{html_select_date}</link>,
|
<link linkend="language.function.html.select.date">{html_select_date}</link>,
|
||||||
<link linkend="language.function.html.select.time">{html_select_time}</link>,
|
<link linkend="language.function.html.select.time">{html_select_time}</link>,
|
||||||
<link linkend="language.modifier.date.format">date_format</link>
|
<link linkend="language.modifier.date.format">date_format</link> et
|
||||||
et <link linkend="language.variables.smarty.now">$smarty.now</link>,
|
<link linkend="language.variables.smarty.now">$smarty.now</link>,
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
<sect1 id="tips.wap">
|
<sect1 id="tips.wap">
|
||||||
<title>WAP/WML</title>
|
<title>WAP/WML</title>
|
||||||
<para>
|
<para>
|
||||||
Les templates WAP/WML n<>cessitent un en-t<>te "Content-Type" qui doit <20>tre
|
Les templates WAP/WML n<>cessitent un en-t<>te
|
||||||
|
<ulink url="&url.php-manual;header">Content-Type</ulink> qui doit <20>tre
|
||||||
pass<73> avec le template. Le moyen le plus facile de faire cel<65> est d'<27>crire
|
pass<73> avec le template. Le moyen le plus facile de faire cel<65> est d'<27>crire
|
||||||
une fonction utilisateur qui <20>crit l'en-t<>te. Si vous utilisez le cache,
|
une fonction utilisateur qui <20>crit l'en-t<>te. Si vous utilisez le
|
||||||
|
<link linkend="caching">cache</link>,
|
||||||
cel<65> ne fonctionnera pas. Nous utiliserons donc une balise d'insertion
|
cel<65> ne fonctionnera pas. Nous utiliserons donc une balise d'insertion
|
||||||
|
(<link linkend="language.function.insert">{insert}</link>)
|
||||||
(rappelez-vous que les balises d'insertion ne sont pas mises en cache !).
|
(rappelez-vous que les balises d'insertion ne sont pas mises en cache !).
|
||||||
Assurez-vous qu'aucune sortie
|
Assurez-vous qu'aucune sortie
|
||||||
rien n'est transmise au navigateur avant l'appel du template, sans quoi
|
rien n'est transmise au navigateur avant l'appel du template, sans quoi
|
||||||
la modification de l'en-t<>te <20>chouera.
|
la modification de l'en-t<>te <20>chouera.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Utilisation d'insert pour <20>crire un en-t<>te Content-Type WML</title>
|
<title>Utilisation d'{insert} pour <20>crire un en-t<>te Content-Type WML</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
@@ -293,8 +316,8 @@ function insert_header()
|
|||||||
Traditionnellemnt, la programmation avec des templates dans les applications
|
Traditionnellemnt, la programmation avec des templates dans les applications
|
||||||
se d<>roule de la fa<66>on suivante : d'abord vous r<>cup<75>rez vos variables
|
se d<>roule de la fa<66>on suivante : d'abord vous r<>cup<75>rez vos variables
|
||||||
dans l'application PHP (peut-<2D>tre avec des requ<71>tes en base de donn<6E>es), puis
|
dans l'application PHP (peut-<2D>tre avec des requ<71>tes en base de donn<6E>es), puis
|
||||||
vous instanciez votre objet Smarty, <link linkend="api.assign">assignez</link>
|
vous instanciez votre objet Smarty, <link linkend="api.assign">assign()</link>
|
||||||
les variables et <link linkend="api.display">affichez</link> le
|
les variables et <link linkend="api.display">display()</link> le
|
||||||
template. Disons par exemple que nous avons un t<>l<EFBFBD>scripteur dans
|
template. Disons par exemple que nous avons un t<>l<EFBFBD>scripteur dans
|
||||||
notre template. Nous r<>cup<75>rerions les donn<6E>es dans notre application,
|
notre template. Nous r<>cup<75>rerions les donn<6E>es dans notre application,
|
||||||
puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas
|
puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas
|
||||||
@@ -308,12 +331,15 @@ function insert_header()
|
|||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Template composant</title>
|
<title>Template composant</title>
|
||||||
|
<para>
|
||||||
|
<filename>function.load_ticker.php</filename> -
|
||||||
|
Efface le fichier du r<>pertoire des
|
||||||
|
<link linkend="variable.plugins.dir">$plugins</link>
|
||||||
|
</para>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Efface le fichier "function.load_ticker.php" dans le r<>pertoire des plugins
|
|
||||||
|
|
||||||
// notre fonction pour r<>cup<75>rer les donn<6E>es
|
// notre fonction pour r<>cup<75>rer les donn<6E>es
|
||||||
function fetch_ticker($symbol,&$ticker_name,&$ticker_price)
|
function fetch_ticker($symbol,&$ticker_name,&$ticker_price)
|
||||||
{
|
{
|
||||||
@@ -333,10 +359,11 @@ function smarty_function_load_ticker($params, &$smarty)
|
|||||||
?>
|
?>
|
||||||
]]>
|
]]>
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
<para>
|
||||||
|
<filename>index.tpl</filename>
|
||||||
|
</para>
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
{* in index.tpl *}
|
|
||||||
|
|
||||||
{load_ticker symbol="YHOO" assign="ticker"}
|
{load_ticker symbol="YHOO" assign="ticker"}
|
||||||
|
|
||||||
Stock Name: {$ticker.name} Stock Price: {$ticker.price}
|
Stock Name: {$ticker.name} Stock Price: {$ticker.price}
|
||||||
@@ -358,7 +385,8 @@ Stock Name: {$ticker.name} Stock Price: {$ticker.price}
|
|||||||
adresses est de parcourir les pages Web. Voici une fa<66>on de rem<65>dier
|
adresses est de parcourir les pages Web. Voici une fa<66>on de rem<65>dier
|
||||||
<20> ce probl<62>me : mettre votre adresse email dans du Javascript brouill<6C>
|
<20> ce probl<62>me : mettre votre adresse email dans du Javascript brouill<6C>
|
||||||
au milieu de votre source HTML, sans que cel<65> ne g<>ne l'affichage sur le
|
au milieu de votre source HTML, sans que cel<65> ne g<>ne l'affichage sur le
|
||||||
navigateur Web. Cel<65> est fait gr<67>ce au plugin mailto.
|
navigateur Web. Cel<65> est fait gr<67>ce au plugin
|
||||||
|
<link linkend="language.function.mailto">{mailto}</link>.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>Exemple de dissimulation d'une adresse email</title>
|
<title>Exemple de dissimulation d'une adresse email</title>
|
||||||
@@ -381,10 +409,12 @@ Send inquiries to
|
|||||||
</note>
|
</note>
|
||||||
<para>
|
<para>
|
||||||
Voir aussi
|
Voir aussi
|
||||||
<link linkend="language.modifier.escape">escape</link>.
|
<link linkend="language.modifier.escape">escape</link> et
|
||||||
|
<link linkend="language.function.mailto">{mailto}</link>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
mode: sgml
|
mode: sgml
|
||||||
|
@@ -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.3 Maintainer:gerald Status: ready -->
|
<!-- EN-Revision: 1.4 Maintainer:gerald Status: ready -->
|
||||||
<chapter id="troubleshooting">
|
<chapter id="troubleshooting">
|
||||||
<title>Diagnostic des erreurs</title>
|
<title>Diagnostic des erreurs</title>
|
||||||
<para></para>
|
<para></para>
|
||||||
@@ -37,7 +37,7 @@ Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title>erreur d'analyse PHP</title>
|
<title>Erreur d'analyse PHP</title>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
|
Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
|
||||||
@@ -55,14 +55,117 @@ Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
|
|||||||
vous devrez alors ouvrir le fichier PHP compil<69> et aller <20> la ligne correspondante pour
|
vous devrez alors ouvrir le fichier PHP compil<69> et aller <20> la ligne correspondante pour
|
||||||
trouver d'o<> vient l'erreur.
|
trouver d'o<> vient l'erreur.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
|
<example>
|
||||||
|
<title>Autres erreurs communes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
Warning: Smarty error: unable to read resource: "index.tpl" in...
|
||||||
|
ou
|
||||||
|
Warning: Smarty error: unable to read resource: "site.conf" in...
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Le dossier <link linkend="variable.template.dir">$template_dir</link>
|
||||||
|
est incorrect, n'existe pas ou le fichier
|
||||||
|
the file <filename>index.tpl</filename> n'est pas dans le dossier
|
||||||
|
<filename class="directory">templates/</filename>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Une fonction <link linkend="language.function.config.load">{config_load}</link>
|
||||||
|
est dans un template (ou
|
||||||
|
<link linkend="api.config.load">config_load()</link>
|
||||||
|
a <20>t<EFBFBD> appel<65>) et soit
|
||||||
|
<link linkend="variable.config.dir">$config_dir</link>
|
||||||
|
est incoh<6F>rent, n'existe pas, ou
|
||||||
|
<filename>site.conf</filename> n'est pas dans le dossier.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</listitem><listitem>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist,
|
||||||
|
or is not a directory...
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
Soit le dossier
|
||||||
|
<link linkend="variable.compile.dir">$compile_dir</link>
|
||||||
|
n'est pas correctement d<>fini, le dossier n'existe pas, ou
|
||||||
|
<filename>templates_c</filename> est un fichier et non un dossier.
|
||||||
|
</para>
|
||||||
|
</listitem><listitem>
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
Fatal error: Smarty error: unable to write to $compile_dir '....
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
Le dossier <link linkend="variable.compile.dir">$compile_dir</link>
|
||||||
|
n'est pas accessible en <20>criture par le serveur web. Voir le bas
|
||||||
|
de la page sur l'<link linkend="installing.smarty.basic">installation de
|
||||||
|
Smarty</link> pour les permissions.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</listitem><listitem>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
Fatal error: Smarty error: the $cache_dir 'cache' does not exist,
|
||||||
|
or is not a directory. in /..
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
Cela signifie que
|
||||||
|
<link linkend="variable.caching">$caching</link> est activ<69> et soit
|
||||||
|
le dossier
|
||||||
|
<link linkend="variable.cache.dir">$cache_dir</link>
|
||||||
|
n'est pas correctement d<>fini, le dossier n'existe pas, ou
|
||||||
|
<filename>cache</filename> est un fichier et non un dossier.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</listitem><listitem>
|
||||||
|
|
||||||
|
<screen>
|
||||||
|
<![CDATA[
|
||||||
|
Fatal error: Smarty error: unable to write to $cache_dir '/...
|
||||||
|
]]>
|
||||||
|
</screen>
|
||||||
|
<para>
|
||||||
|
Cela signifie que
|
||||||
|
<link linkend="variable.caching">$caching</link> est activ<69> et le dossier
|
||||||
|
<link linkend="variable.cache.dir">$cache_dir</link>
|
||||||
|
n'est pas accessible en <20>criture par le serveur web. Voir le bas
|
||||||
|
de la page sur l'<link linkend="installing.smarty.basic">installation de
|
||||||
|
Smarty</link> pour les permissions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</example>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Voir aussi
|
Voir aussi
|
||||||
<link linkend="chapter.debugging.console">le d<>bogage</link>,
|
<link linkend="chapter.debugging.console">le d<>bogage</link>,
|
||||||
<link linkend="variable.error.reporting">$error_reporting</link>
|
<link linkend="variable.error.reporting">$error_reporting</link> et
|
||||||
et <link linkend="api.trigger.error">trigger_error()</link>.
|
<link linkend="api.trigger.error">trigger_error()</link>.
|
||||||
</para>
|
</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
mode: sgml
|
mode: sgml
|
||||||
|
@@ -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: gerald Status: ready -->
|
<!-- EN-Revision: 1.7 Maintainer: gerald Status: ready -->
|
||||||
<chapter id="config.files">
|
<chapter id="config.files">
|
||||||
<title>Fichiers de configuration</title>
|
<title>Fichiers de configuration</title>
|
||||||
<para>
|
<para>
|
||||||
@@ -68,8 +68,8 @@ pass=foobar
|
|||||||
<para>
|
<para>
|
||||||
Les fichiers de configuration sont charg<72>s dans le template gr<67>ce aux
|
Les fichiers de configuration sont charg<72>s dans le template gr<67>ce aux
|
||||||
fonctions <link
|
fonctions <link
|
||||||
linkend="language.function.config.load"><command>{config_load}</command></link>,
|
linkend="language.function.config.load"><command>{config_load}</command></link>
|
||||||
et <link linkend="api.config.load"><command>config_load()</command></link>.
|
(voir aussi <link linkend="api.config.load"><command>config_load()</command></link>).
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Vous pouvez masquer des variables ou des sections enti<74>res en pr<70>fixant
|
Vous pouvez masquer des variables ou des sections enti<74>res en pr<70>fixant
|
||||||
@@ -80,7 +80,16 @@ pass=foobar
|
|||||||
<20>tes s<>r que ces derniers n'acc<63>deront pas <20> ces donn<6E>es de configuration
|
<20>tes s<>r que ces derniers n'acc<63>deront pas <20> ces donn<6E>es de configuration
|
||||||
en les chargeant depuis le template.
|
en les chargeant depuis le template.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
Voir aussi
|
||||||
|
<link linkend="language.function.config.load">{config_load}</link>,
|
||||||
|
<link linkend="variable.config.overwrite">$config_overwrite</link>,
|
||||||
|
<link linkend="api.get.config.vars">get_config_vars()</link>,
|
||||||
|
<link linkend="api.clear.config">clear_config()</link> et
|
||||||
|
<link linkend="api.config.load">config_load()</link>.
|
||||||
|
</para>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<!-- Keep this comment at the end of the file
|
<!-- Keep this comment at the end of the file
|
||||||
Local variables:
|
Local variables:
|
||||||
mode: sgml
|
mode: sgml
|
||||||
|
@@ -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: gerald Status: ready -->
|
<!-- EN-Revision: 1.6 Maintainer: gerald Status: ready -->
|
||||||
<chapter id="language.variables">
|
<chapter id="language.variables">
|
||||||
<title>Variables</title>
|
<title>Variables</title>
|
||||||
<para>
|
<para>
|
||||||
@@ -9,9 +9,12 @@
|
|||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Les variables de Smarty peuvent <20>tre soit affich<63>es directement, soit utilis<69>es
|
Les variables de Smarty peuvent <20>tre soit affich<63>es directement, soit utilis<69>es
|
||||||
comme arguments pour les fonctions et modificateurs, <20> l'int<6E>rieur d'expressions
|
comme <link linkend="language.syntax.attributes">arguments</link> pour les
|
||||||
|
<link linkend="language.syntax.functions">fonctions</link>
|
||||||
|
et <link linkend="language.modifiers">modificateurs</link>, <20> l'int<6E>rieur d'expressions
|
||||||
conditionnelles, etc.
|
conditionnelles, etc.
|
||||||
Pour afficher une variable, il suffit de l'entourer par des d<>limiteurs de
|
Pour afficher une variable, il suffit de l'entourer par des
|
||||||
|
<link linkend="variable.left.delimiter">d<EFBFBD>limiteurs</link> de
|
||||||
telle sorte qu'elle soit la seule chose qu'ils contiennent. Exemple :
|
telle sorte qu'elle soit la seule chose qu'ils contiennent. Exemple :
|
||||||
<programlisting>
|
<programlisting>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
|
@@ -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: didou Status: ready -->
|
<!-- EN-Revision: 1.10 Maintainer: didou Status: ready -->
|
||||||
<part id="getting.started">
|
<part id="getting.started">
|
||||||
<title>Pour commencer</title>
|
<title>Pour commencer</title>
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Architecture de plugins
|
Architecture de <link linkend="plugins">plugins</link>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@@ -163,7 +163,7 @@
|
|||||||
Smarty.
|
Smarty.
|
||||||
</para>
|
</para>
|
||||||
<example>
|
<example>
|
||||||
<title>fichiers de la biblioth<74>que SMARTY</title>
|
<title>fichiers n<EFBFBD>cessaires de la biblioth<74>que SMARTY</title>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
Smarty.class.php
|
Smarty.class.php
|
||||||
@@ -171,7 +171,7 @@ Smarty_Compiler.class.php
|
|||||||
Config_File.class.php
|
Config_File.class.php
|
||||||
debug.tpl
|
debug.tpl
|
||||||
/internals/*.php (tous)
|
/internals/*.php (tous)
|
||||||
/plugins/*.php (tous)
|
/plugins/*.php (tous doivent <20>tre s<>r, peut-<2D>tre votre site n'a besoin seulement que d'un sous-ensemble)
|
||||||
]]>
|
]]>
|
||||||
</screen>
|
</screen>
|
||||||
</example>
|
</example>
|
||||||
@@ -182,7 +182,8 @@ debug.tpl
|
|||||||
repr<70>sente le chemin complet de la biblioth<74>que Smarty. En fait,
|
repr<70>sente le chemin complet de la biblioth<74>que Smarty. En fait,
|
||||||
si votre application trouve le fichier
|
si votre application trouve le fichier
|
||||||
<filename>Smarty.class.php</filename>, vous n'aurez pas
|
<filename>Smarty.class.php</filename>, vous n'aurez pas
|
||||||
besoin de d<>finir la variable SMARTY_DIR, Smarty s'en chargera pour vous.
|
besoin de d<>finir la variable <link linkend="constant.smarty.dir">SMARTY_DIR</link>,
|
||||||
|
Smarty s'en chargera pour vous.
|
||||||
En revanche, si <filename>Smarty.class.php</filename>
|
En revanche, si <filename>Smarty.class.php</filename>
|
||||||
n'est pas dans votre r<>pertoire d'inclusion ou que vous ne
|
n'est pas dans votre r<>pertoire d'inclusion ou que vous ne
|
||||||
donnez pas un chemin absolu <20> votre application, vous
|
donnez pas un chemin absolu <20> votre application, vous
|
||||||
@@ -255,11 +256,16 @@ $smarty = new Smarty;
|
|||||||
<para>
|
<para>
|
||||||
Maintenant que les fichiers de la librairie sont en place,
|
Maintenant que les fichiers de la librairie sont en place,
|
||||||
il est temps de d<>finir les r<>pertoires de Smarty, pour votre application.
|
il est temps de d<>finir les r<>pertoires de Smarty, pour votre application.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
Smarty a besoin de quatre r<>pertoires qui sont (par d<>faut)
|
Smarty a besoin de quatre r<>pertoires qui sont (par d<>faut)
|
||||||
<filename class="directory">templates</filename>,
|
<filename class="directory">'templates/'</filename>,
|
||||||
<filename class="directory">templates_c</filename>,
|
<filename class="directory">'templates_c/'</filename>,
|
||||||
<filename class="directory">configs</filename> et
|
<filename class="directory">'configs/'</filename> et
|
||||||
<filename class="directory">cache</filename>. Chacun d'entre eux peut <20>tre d<>fini
|
<filename class="directory">'cache/'</filename>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Chacun d'entre eux peut <20>tre d<>fini
|
||||||
via les attributs <link linkend="variable.template.dir">
|
via les attributs <link linkend="variable.template.dir">
|
||||||
<varname>$template_dir</varname></link>,
|
<varname>$template_dir</varname></link>,
|
||||||
<link linkend="variable.compile.dir">
|
<link linkend="variable.compile.dir">
|
||||||
@@ -296,7 +302,7 @@ $smarty = new Smarty;
|
|||||||
Vous allez avoir besoin d'au moins un fichier <20> la racine de
|
Vous allez avoir besoin d'au moins un fichier <20> la racine de
|
||||||
l'arborescence Web,
|
l'arborescence Web,
|
||||||
il s'agit du script auquel l'internaute a acc<63>s. Nous allons l'appeler
|
il s'agit du script auquel l'internaute a acc<63>s. Nous allons l'appeler
|
||||||
<filename>index.php</filename> et le placer dans un sous-r<>pertoire
|
<emphasis>'index.php'</emphasis> et le placer dans un sous-r<>pertoire
|
||||||
appel<65> <filename class="directory">/livredor/</filename>.
|
appel<65> <filename class="directory">/livredor/</filename>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
@@ -304,12 +310,18 @@ $smarty = new Smarty;
|
|||||||
<title>Technical Note</title>
|
<title>Technical Note</title>
|
||||||
<para>
|
<para>
|
||||||
Il est pratique de configurer le serveur Web de
|
Il est pratique de configurer le serveur Web de
|
||||||
sorte que "index.php" soit identifi<66> comme fichier
|
sorte que 'index.php' soit identifi<66> comme fichier
|
||||||
par d<>faut de ce r<>pertoire. Aicnsi, si l'on tape
|
par d<>faut de ce r<>pertoire. Aicnsi, si l'on tape
|
||||||
"http://www.example.com/livredor/", le script index.php soit
|
'http://www.example.com/livredor/', le script 'index.php' soit
|
||||||
ex<65>cut<75> sans que "index.php" ne soit sp<73>cifi<66> dans l'URL. Avec Apache
|
ex<65>cut<75> sans que 'index.php' ne soit sp<73>cifi<66> dans l'URL. Avec Apache,
|
||||||
vous pouvez r<>gler cel<EFBFBD> en ajoutant "index.php" <20> la ligne o<> se
|
vous pouvez r<>gler cela en ajoutant 'index.php' <20> la ligne o<> se
|
||||||
trouve DirectoryIndex (s<>parez chaque entr<74>e par un espace).
|
trouve <emphasis>DirectoryIndex</emphasis> (s<>parez chaque entr<74>e par un espace)
|
||||||
|
dans le httpd.conf.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
<emphasis>DirectoryIndex
|
||||||
|
index.htm index.html index.php index.php3 default.html index.cgi
|
||||||
|
</emphasis>
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
<para>
|
<para>
|
||||||
@@ -317,7 +329,7 @@ $smarty = new Smarty;
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title>exemple de structure de fichiers</title>
|
<title>Exemple de structure de fichiers</title>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
/usr/local/lib/php/Smarty/Smarty.class.php
|
/usr/local/lib/php/Smarty/Smarty.class.php
|
||||||
@@ -338,8 +350,8 @@ $smarty = new Smarty;
|
|||||||
</example>
|
</example>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Smarty a besoin d'acc<63>der en <20>criture aux r<>pertoires
|
Smarty a besoin d'<emphasis role="bold">acc<EFBFBD>der en <20>criture</emphasis>
|
||||||
<link linkend="variable.compile.dir">
|
aux r<>pertoires <link linkend="variable.compile.dir">
|
||||||
<emphasis>$compile_dir</emphasis></link> et <link linkend="variable.cache.dir">
|
<emphasis>$compile_dir</emphasis></link> et <link linkend="variable.cache.dir">
|
||||||
<emphasis>$cache_dir</emphasis></link>,
|
<emphasis>$cache_dir</emphasis></link>,
|
||||||
assurez-vous donc que le serveur Web dispose de ces droits d'acc<63>s.
|
assurez-vous donc que le serveur Web dispose de ces droits d'acc<63>s.
|
||||||
@@ -376,8 +388,8 @@ chmod 770 /web/www.example.com/smarty/livredor/cache/
|
|||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Nous devons cr<63>er le fichier index.tpl que Smarty va charger.
|
Nous devons cr<63>er le fichier 'index.tpl' que Smarty va charger.
|
||||||
Il va se trouver dans $template_dir.
|
Il va se trouver dans <link linkend="variable.template.dir">$template_dir</link>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
@@ -396,8 +408,8 @@ Hello, {$name}!
|
|||||||
<note>
|
<note>
|
||||||
<title>Note technique</title>
|
<title>Note technique</title>
|
||||||
<para>
|
<para>
|
||||||
{* Smarty *} est un commentaire de template. Il n'est pas
|
{* Smarty *} est un <link linkend="language.syntax.comments">commentaire</link>
|
||||||
obligatoire mais il est bon de commencer tous vos templates
|
de template. Il n'est pas obligatoire mais il est bon de commencer tous vos templates
|
||||||
avec ce commentaire. Cel<65> rend le fichier facilement
|
avec ce commentaire. Cel<65> rend le fichier facilement
|
||||||
reconnaissable en plus de son extension. Les <20>diteurs
|
reconnaissable en plus de son extension. Les <20>diteurs
|
||||||
de texte peuvent par exemple reconna<6E>tre le fichier et
|
de texte peuvent par exemple reconna<6E>tre le fichier et
|
||||||
@@ -406,16 +418,16 @@ Hello, {$name}!
|
|||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Maintenant passons <20> l'<27>dition du fichier index.php. Nous allons
|
Maintenant passons <20> l'<27>dition du fichier 'index.php'. Nous allons
|
||||||
cr<63>er une instance de Smarty, assigner une valeur <20> une variable
|
cr<63>er une instance de Smarty, assigner une valeur <20> une variable
|
||||||
de template et afficher le r<>sultat avec index.tpl. Dans notre
|
de template et afficher le r<>sultat avec 'index.tpl'. Dans notre
|
||||||
exemple d'environnement, "/usr/local/lib/php/Smarty" est dans notre
|
exemple d'environnement, "/usr/local/lib/php/Smarty" est dans notre
|
||||||
include_path. Assurez-vous de faire la m<>me chose ou d'utiliser
|
include_path. Assurez-vous de faire la m<>me chose ou d'utiliser
|
||||||
des chemins absolus.
|
des chemins absolus.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title><EFBFBD>dition de /web/www.example.com/docs/livredor/index.php</title>
|
<title><EFBFBD>dition de /web/www.example.com/docs/livredor/index.php</title>
|
||||||
<screen>
|
<screen>
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
@@ -445,7 +457,7 @@ Hello, {$name}!
|
|||||||
<filename
|
<filename
|
||||||
class="directory">/web/www.example.com/smarty/livredor/</filename>
|
class="directory">/web/www.example.com/smarty/livredor/</filename>
|
||||||
est dans votre include_path PHP alors ces r<>glages ne sont pas n<>cessaires.
|
est dans votre include_path PHP alors ces r<>glages ne sont pas n<>cessaires.
|
||||||
Quoi qu'il en soit il est plus efficace et (par exp<78>rience)
|
Quoi qu'il en soit, il est plus efficace et (par exp<78>rience)
|
||||||
moins g<>n<EFBFBD>rateur d'erreurs de les d<>finir avec des chemins
|
moins g<>n<EFBFBD>rateur d'erreurs de les d<>finir avec des chemins
|
||||||
absolus. Cel<65> nous garantit que Smarty r<>cup<75>rera les bons fichiers.
|
absolus. Cel<65> nous garantit que Smarty r<>cup<75>rera les bons fichiers.
|
||||||
</para>
|
</para>
|
||||||
@@ -518,11 +530,11 @@ Hello, {$name}!
|
|||||||
</example>
|
</example>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Modifions maintenant le fichier index.php pour qu'il utilise "setup.php"
|
Modifions maintenant le fichier 'index.php' pour qu'il utilise 'setup.php'
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<example>
|
<example>
|
||||||
<title>Edition de /web/www.example.com/docs/livredor/index.php</title>
|
<title><EFBFBD>dition de /web/www.example.com/docs/livredor/index.php</title>
|
||||||
<programlisting role="php">
|
<programlisting role="php">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
<?php
|
<?php
|
||||||
|
Reference in New Issue
Block a user