|
|
@@ -1,5 +1,5 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 22189 -->
|
|
|
+<!-- EN-Revision: 24249 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="learning.view.placeholders.standard">
|
|
|
<title>Placeholders standards</title>
|
|
|
@@ -19,31 +19,31 @@
|
|
|
Par exemples: vous voudriez que votre titre se compose d'un certain contenu sur toutes les
|
|
|
pages mais aussi d'une partie dynamique relative au contrôleur/action en cours; aussi vous
|
|
|
voudriez préciser des fichiers <acronym>CSS</acronym> à charger basés sur la section de
|
|
|
- l'application en cours; enfin vous pourriez avoir recours à des scripts JavaScript spécifiques
|
|
|
- parfois, ou encore changer la déclaration de <acronym>DocType</acronym>.
|
|
|
+ l'application en cours; enfin vous pourriez avoir recours à des scripts JavaScript
|
|
|
+ spécifiques parfois, ou encore changer la déclaration de <emphasis>DocType</emphasis>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Zend Framework est livré avec des implémentations de placeholder pour chacune de ces situations
|
|
|
- et encore d'autres.
|
|
|
+ Zend Framework est livré avec des implémentations de placeholder pour chacune de ces
|
|
|
+ situations et encore d'autres.
|
|
|
</para>
|
|
|
|
|
|
<sect2 id="learning.view.placeholders.standard.doctype">
|
|
|
<title>Changer le DocType</title>
|
|
|
|
|
|
<para>
|
|
|
- Les déclarations de <acronym>DocType</acronym> sont difficiles à mémoriser et souvent
|
|
|
- essentielles pour s'assurer que le navigateur rende correctement le contenu. L'aide de vue
|
|
|
- <methodname>doctype()</methodname> permet d'utiliser des mnemonics pour spécifier un
|
|
|
- <acronym>DocType</acronym>; aussi, d'autres aides de vues interrogeront l'aide
|
|
|
+ Les déclarations de <emphasis>DocType</emphasis> sont difficiles à mémoriser et souvent
|
|
|
+ essentielles pour s'assurer que le navigateur rende correctement le contenu. L'aide de
|
|
|
+ vue <methodname>doctype()</methodname> permet d'utiliser des mnemonics pour spécifier un
|
|
|
+ <emphasis>DocType</emphasis>; aussi, d'autres aides de vues interrogeront l'aide
|
|
|
<methodname>doctype()</methodname> pour s'assurer que le contenu qu'elles génèrent est
|
|
|
- conforme au <acronym>DocType</acronym> utilisé.
|
|
|
+ conforme au <emphasis>DocType</emphasis> utilisé.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
Par exemple si vous souhaitez utiliser la <acronym>DTD</acronym>
|
|
|
<acronym>XHTML1</acronym> Strict, vous pouvez simplement la préciser
|
|
|
- comme ceci:
|
|
|
+ comme ceci :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -51,7 +51,7 @@ $this->doctype('XHTML1_STRICT');
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Voici les autres mnemonics utilisables:
|
|
|
+ Voici les autres mnemonics utilisables :
|
|
|
</para>
|
|
|
|
|
|
<variablelist>
|
|
|
@@ -107,7 +107,7 @@ $this->doctype('XHTML1_STRICT');
|
|
|
</variablelist>
|
|
|
|
|
|
<para>
|
|
|
- Vous pouvez changer le type et rendre la déclaration en un seul appel:
|
|
|
+ Vous pouvez changer le type et rendre la déclaration en un seul appel :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -115,8 +115,8 @@ echo $this->doctype('XHTML1_STRICT');
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Cependant l'approche conseillée est de préciser le type dans le bootstrap et rendre l'aide
|
|
|
- de vue dans la layout. Essayez d'ajouter ceci à votre classe de bootstrap:
|
|
|
+ Cependant l'approche conseillée est de préciser le type dans le bootstrap et rendre
|
|
|
+ l'aide de vue dans la layout. Essayez d'ajouter ceci à votre classe de bootstrap :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -132,8 +132,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Puis, dans le script de layout, affichez simplement avec <function>echo</function> l'aide en
|
|
|
- haut du fichier:
|
|
|
+ Puis, dans le script de layout, affichez simplement avec
|
|
|
+ <methodname>echo()</methodname> l'aide en haut du fichier :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -144,8 +144,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
|
|
|
<para>
|
|
|
Ceci permet d'être sûr que les aides de vue diverses utiliseront cette déclaration,
|
|
|
- que le docType est précisé avant le rendu du layout et qu'il n'existe qu'un seul endroit
|
|
|
- logique pour le changer.
|
|
|
+ que le docType est précisé avant le rendu du layout et qu'il n'existe qu'un seul
|
|
|
+ endroit logique pour le changer.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
|
|
|
@@ -155,25 +155,26 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
<para>
|
|
|
Souvent, le site incluera le nom de la société dans le titre de la page et ajoutera
|
|
|
ensuite des informations basées sur la page en cours de lecture. Par exemple, le site
|
|
|
- zend.com inclut la chaine "Zend.com" sur toutes les pages et y fait précèder des
|
|
|
- informations relatives à la page en cours: "Zend Server - Zend.com". Dans Zend Framework,
|
|
|
+ <filename>zend.com</filename> inclut la chaine "<filename>Zend.com</filename>" sur
|
|
|
+ toutes les pages et y fait précèder des informations relatives à la page en
|
|
|
+ cours : "Zend Server - <filename>Zend.com</filename>". Dans Zend Framework,
|
|
|
l'aide de vue <methodname>headTitle()</methodname> peut vous simplifier cette tâche.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Au plus simple, l'aide <methodname>headTitle()</methodname> permet d'aggréger du contenu
|
|
|
- pour la balise <emphasis><title></emphasis>; lorsque vous l'affichez, il assemble
|
|
|
- son contenu dans l'ordre des ajouts. Pour contrôler l'ordre, les méthodes
|
|
|
- <methodname>prepend()</methodname> et <methodname>append()</methodname> sont là, pour changer
|
|
|
- le séparateur à utiliser entre les segments, utilisez la méthode
|
|
|
+ Au plus simple, l'aide <methodname>headTitle()</methodname> permet d'aggréger du
|
|
|
+ contenu pour la balise <emphasis><title></emphasis>; lorsque vous l'affichez,
|
|
|
+ il assemble son contenu dans l'ordre des ajouts. Pour contrôler l'ordre, les méthodes
|
|
|
+ <methodname>prepend()</methodname> et <methodname>append()</methodname> sont là, pour
|
|
|
+ changer le séparateur à utiliser entre les segments, utilisez la méthode
|
|
|
<methodname>setSeparator()</methodname>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Typiquement vous devriez renseigner tous les segments communs à toutes les pages en bootstrap,
|
|
|
- de la même manière que nous avions agit avec le doctype. Dans ce cas, nous allons écrire une
|
|
|
- méthode <methodname>_initPlaceholders()</methodname> pour gérer tous les placeholders et préciser
|
|
|
- un titre initial ainsi qu'un séparateur.
|
|
|
+ Typiquement vous devriez renseigner tous les segments communs à toutes les pages en
|
|
|
+ bootstrap, de la même manière que nous avions agit avec le doctype. Dans ce cas, nous
|
|
|
+ allons écrire une méthode <methodname>_initPlaceholders()</methodname> pour gérer
|
|
|
+ tous les placeholders et préciser un titre initial ainsi qu'un séparateur.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -197,7 +198,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Dans un script de vue, nous voulons ajouter un nouveau segment:
|
|
|
+ Dans un script de vue, nous voulons ajouter un nouveau segment :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -206,7 +207,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Dans notre layout, nous affichons simplement l'aide <methodname>headTitle()</methodname>:
|
|
|
+ Dans notre layout, nous affichons simplement l'aide
|
|
|
+ <methodname>headTitle()</methodname> :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -217,7 +219,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Le contenu suivant aura été généré:
|
|
|
+ Le contenu suivant aura été généré :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="html"><![CDATA[
|
|
|
@@ -234,8 +236,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
|
|
|
<para>
|
|
|
Les bons développeurs <acronym>CSS</acronym> créront souvent une feuille de style
|
|
|
- globale et des feuilles individuelles pour les sections spécifiques ou certaines pages
|
|
|
- du site puis chargeront celles-ci plus tard conditionnellement afin de réduire
|
|
|
+ globale et des feuilles individuelles pour les sections spécifiques ou certaines
|
|
|
+ pages du site puis chargeront celles-ci plus tard conditionnellement afin de réduire
|
|
|
le nombre de données à transférer entre chaque requête. Le placeholder
|
|
|
<methodname>headLink()</methodname> permet de réaliser de telles aggrégations
|
|
|
conditionnelles de feuilles de style.
|
|
|
@@ -256,9 +258,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Dans notre exemple, nous supposerons que toutes les pages ont besoin de charger une feuille
|
|
|
- de style stockée dans "<filename>/styles/site.css</filename>" (relativement au document root);
|
|
|
- nous allons préciser cela dans notre méthode de bootstrap
|
|
|
+ Dans notre exemple, nous supposerons que toutes les pages ont besoin de charger une
|
|
|
+ feuille de style stockée dans "<filename>/styles/site.css</filename>" (relativement
|
|
|
+ au document root) ; nous allons préciser cela dans notre méthode de bootstrap
|
|
|
<methodname>_initPlaceholders()</methodname>.
|
|
|
</para>
|
|
|
|
|
|
@@ -295,7 +297,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Dans notre layout, là encore, un simple echo sur le placeholer:
|
|
|
+ Dans notre layout, là encore, un simple echo sur le placeholder :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -320,10 +322,11 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
<title>Aggréger des scripts avec HeadScript</title>
|
|
|
|
|
|
<para>
|
|
|
- Un autre moyen de ne pas surcharger la page est de ne charger le JavaScript que lorsque
|
|
|
- c'est nécessaire. Vous aurez donc besoin de scripts découpés: peut-être un pour afficher
|
|
|
- le menu du site progressivement, un autre pour traiter le contenu d'une page spécifique.
|
|
|
- Dans ces cas, l'aide <methodname>headScript()</methodname> propose une solution.
|
|
|
+ Un autre moyen de ne pas surcharger la page est de ne charger le JavaScript que
|
|
|
+ lorsque c'est nécessaire. Vous aurez donc besoin de scripts découpés: peut-être un
|
|
|
+ pour afficher le menu du site progressivement, un autre pour traiter le contenu d'une
|
|
|
+ page spécifique. Dans ces cas, l'aide <methodname>headScript()</methodname> propose
|
|
|
+ une solution.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -343,14 +346,16 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
<methodname>appendFile()</methodname>, <methodname>prependScript()</methodname>, et
|
|
|
<methodname>appendScript()</methodname>. Les deux premières vous permettent de préciser
|
|
|
des fichiers référéncés dans l'attribut <varname>$src</varname> d'une balise
|
|
|
- <emphasis><script></emphasis>; les deux dernières vont prendre le contenu qu'on leur
|
|
|
- passe et le rendre comme du JavaScript dans les balises <emphasis><script></emphasis>.
|
|
|
+ <emphasis><script></emphasis>; les deux dernières vont prendre le contenu qu'on
|
|
|
+ leur passe et le rendre comme du JavaScript dans les balises
|
|
|
+ <emphasis><script></emphasis>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Dans cet exemple, nous allons spécifier qu'un script, "<filename>/js/site.js</filename>" a
|
|
|
- besoin d'être chargé sur chaque page; nous allons donc mettre à jour notre méthode de
|
|
|
- bootstap <methodname>_initPlaceholders()</methodname> pour effectuer cela.
|
|
|
+ Dans cet exemple, nous allons spécifier qu'un script,
|
|
|
+ "<filename>/js/site.js</filename>" a besoin d'être chargé sur chaque page ; nous
|
|
|
+ allons donc mettre à jour notre méthode de bootstap
|
|
|
+ <methodname>_initPlaceholders()</methodname> pour effectuer cela.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -380,8 +385,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Dans un script de vue, nous voulons ajouter un script ou capturer du contenu JavaScript
|
|
|
- à inclure dans le document.
|
|
|
+ Dans un script de vue, nous voulons ajouter un script ou capturer du contenu
|
|
|
+ JavaScript à inclure dans le document.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -394,8 +399,8 @@ site = {
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Dans notre script de layout, nous affichons simplement le placeholder, tout comme nous avions
|
|
|
- fait pour les autres précédemment:
|
|
|
+ Dans notre script de layout, nous affichons simplement le placeholder, tout comme
|
|
|
+ nous avions fait pour les autres précédemment :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -425,35 +430,37 @@ site = {
|
|
|
<title>Variante InlineScript</title>
|
|
|
|
|
|
<para>
|
|
|
- La plupart des navigateur bloquent l'affichage tant que tous les scritps et les feuilles
|
|
|
- de style référencés dans la section <emphasis><head></emphasis> ne sont pas chargés.
|
|
|
- Ces règles permettent un meilleur feeling au niveau du rendu de la page et permettent
|
|
|
- à l'utilisateur de voir le contenu de la page plus tôt.
|
|
|
+ La plupart des navigateur bloquent l'affichage tant que tous les scritps et les
|
|
|
+ feuilles de style référencés dans la section <emphasis><head></emphasis>
|
|
|
+ ne sont pas chargés. Ces règles permettent un meilleur feeling au niveau du rendu
|
|
|
+ de la page et permettent à l'utilisateur de voir le contenu de la page plus tôt.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Pour cela, vous pouvez par exemple écrire vos tags <emphasis><script></emphasis>
|
|
|
- après avoir fermé <emphasis><body></emphasis>. (C'est une pratique recommandée
|
|
|
- par <ulink url="http://developer.yahoo.com/yslow/">Y! Slow project</ulink>.)
|
|
|
+ Pour cela, vous pouvez par exemple écrire vos tags
|
|
|
+ <emphasis><script></emphasis> après avoir fermé
|
|
|
+ <emphasis><body></emphasis>. (C'est une pratique recommandée
|
|
|
+ par <ulink url="http://developer.yahoo.com/yslow/">Y!Slow project</ulink>.)
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Zend Framework supporte cela de deux manières différentes:
|
|
|
+ Zend Framework supporte cela de deux manières différentes :
|
|
|
</para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- Vous pouvez rendre <methodname>headScript()</methodname> où vous voulez dans votre
|
|
|
- layout; ce n'est pas parce que la méthode commence par "head" que vous devez
|
|
|
- l'appeler pour cette section du HTML.
|
|
|
+ Vous pouvez rendre <methodname>headScript()</methodname> où vous voulez
|
|
|
+ dans votre layout; ce n'est pas parce que la méthode commence par "head"
|
|
|
+ que vous devez l'appeler pour cette section du HTML.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- Aussi, vous pourriez utiliser l'aide de vue <methodname>inlineScript()</methodname>,
|
|
|
- qui est simplement une variante de <methodname>headScript()</methodname> avec le même
|
|
|
+ Aussi, vous pourriez utiliser l'aide de vue
|
|
|
+ <methodname>inlineScript()</methodname>, qui est simplement une variante
|
|
|
+ de <methodname>headScript()</methodname> avec le même
|
|
|
comportement mais un registre séparé.
|
|
|
</para>
|
|
|
</listitem>
|