| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <!-- EN-Revision: 14385 -->
- <sect3 id="zend.view.helpers.initial.headmeta">
- <title>L'aide de vue HeadMeta</title>
- <para>L'élément HTML <code><meta></code> est utilisé pour fournir des métadonnées concernant votre document
- HTML - typiquement, les mots-clés, l'encodage du document, les directives de mise en cache, etc. Les balises de
- métadonnées peuvent être soit de type "http-equiv" ou "name", doivent contenir un attribut "content" et peuvent
- avoir aussi un attribut modificateur "lang" ou "scheme".</para>
- <para>L'aide de vue <code>HeadMeta</code> supporte les méthodes suivantes pour le paramétrage et l'ajout de
- métadonnées :</para>
- <itemizedlist>
- <listitem>
- <para><code>appendName($keyValue, $content, $conditionalName)</code></para>
- </listitem>
- <listitem>
- <para><code>offsetSetName($index, $keyValue, $content, $conditionalName)</code></para>
- </listitem>
- <listitem>
- <para><code>prependName($keyValue, $content, $conditionalName)</code></para>
- </listitem>
- <listitem>
- <para><code>setName($keyValue, $content, $modifiers)</code></para>
- </listitem>
- <listitem>
- <para><code>appendHttpEquiv($keyValue, $content, $conditionalHttpEquiv)</code></para>
- </listitem>
- <listitem>
- <para><code>offsetSetHttpEquiv($index, $keyValue, $content, $conditionalHttpEquiv)</code></para>
- </listitem>
- <listitem>
- <para><code>prependHttpEquiv($keyValue, $content, $conditionalHttpEquiv)</code></para>
- </listitem>
- <listitem>
- <para><code>setHttpEquiv($keyValue, $content, $modifiers)</code></para>
- </listitem>
- </itemizedlist>
- <para>Le paramètre <code>$keyValue</code> est utilisé pour définir une valeur pour la clé "name" ou "http-equiv" ;
- <code>$content</code> est la valeur pour la clé "content", et <code>$modifiers</code> est un tableau associatif
- optionel qui peut contenir les clés "lang" et/ou "scheme".</para>
- <para>Vous pouvez aussi spécifier les métadonnées en utilisant la méthode <code>headMeta()</code> qui a la signature
- suivante : <code>headMeta($content, $keyValue, $keyType = 'name', $modifiers = array(), $placement =
- 'APPEND')</code>. <code>$keyValue</code> est le contenu de la clé spécifiée dans <code>$keyType</code>, qui peut
- être "name" ou "http-equiv". <code>$placement</code> peut être soit "SET" (efface toutes les valeurs sauvegardées
- précédentes), soit "APPEND" (ajout en fin de pile), soit "PREPEND" (ajout en début de pile).</para>
- <para><code>HeadMeta</code> surcharge chacune des méthodes <code>append()</code>, <code>offsetSet()</code>,
- <code>prepend()</code>, et <code>set()</code>, pour imposer l'utilisation des méthodes spéciales énumérées
- ci-dessus. En interne, il stocke chaque élément sous la forme d'un <code>stdClass</code>, qui peut ensuite être
- sérialiser grâce à la méthode <code>itemToString()</code>. Ceci vous permet de réaliser des contrôles sur les
- éléments de la pile, et optionnellement de modifier ces éléments simplement en modifiant l'objet retourné.</para>
- <para>L'aide de vue <code>HeadMeta</code> est une implémentation concrète de l'aide <link
- linkend="zend.view.helpers.initial.placeholder">Placeholder</link>.</para>
- <example id="zend.view.helpers.initial.headmeta.basicusage">
- <title>Utilisation basique de l'aide HeadMeta</title>
- <para>Vous pouvez spécifier une nouvelle métadonnée à n'importe quel moment. Typiquement, vous pouvez spécifier
- les règles de mise en cache côté client ou les mots clés SEO (Search Engine Optimization : pour l'optimisation
- des moteurs de recherche).</para>
- <para>Par exemple, si vous souhaitez spécifier des mots clés SEO, vous devez créer une métadonnée de type "name"
- ayant pour nom "keywords" et pour contenu les mots clés que vous souhaitez associer à votre page :</para>
- <programlisting role="php"><![CDATA[
- // paramètrage des mots clés
- $this->headMeta()->appendName('keywords', 'framework php productivité');
- ]]></programlisting>
- <para>Si vous souhaitez paramètrer des règles de mise en cache côté client, vous devez créer une métadonnée de
- type "http-equiv" avec les règles que vous souhaitez imposer :</para>
- <programlisting role="php"><![CDATA[
- // désactiver la mise en cache côté client
- $this->headMeta()->appendHttpEquiv('expires',
- 'Wed, 26 Feb 1997 08:21:57 GMT')
- ->appendHttpEquiv('pragma', 'no-cache')
- ->appendHttpEquiv('Cache-Control', 'no-cache');
- ]]></programlisting>
- <para>Une autre utilisation habituelle des métadonnées est le réglage du type de contenu ("content type"), de
- l'encodage, et le langage :</para>
- <programlisting role="php"><![CDATA[
- // régler le type de contenu et l'encodage
- $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
- ->appendHttpEquiv('Content-Language', 'fr-FR');
- ]]></programlisting>
- <para>Et comme exemple final, une manière simple d'afficher un message de transition avant une redirection est
- d'utiliser une métadonnée "refresh" :</para>
- <programlisting role="php"><![CDATA[
- // paramètrer une métadonnée refresh pour 3 secondes
- // avant une nouvel URL :
- $this->headMeta()->appendHttpEquiv('Refresh',
- '3;URL=http://www.some.org/some.html');
- ]]></programlisting>
- <para>Quand vous êtes prêts à placer vos métadonnées dans votre script de disposition, réalisez un
- "<code>echo</code>" de l'aide :</para>
- <programlisting role="php"><![CDATA[
- <?php echo $this->headMeta() ?>
- ]]></programlisting>
- </example>
- </sect3>
|