| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17340 -->
- <!-- Reviewed: no -->
- <sect3 id="zend.view.helpers.initial.headmeta">
- <title>HeadMeta Helfer</title>
- <para>
- Das HTML Element <code><meta></code> wird verwendet um Meta Informationen über das
- HTML Dokument anzubieten -- typischerweise Schlüsselwörter. Dokument Zeichensätze, Cache
- Pragmas, usw. Meta Tags können entweder 'http-equiv' oder 'name' Typen sein, müssen ein
- 'content' Attribut enthalten, und können auch eines der 'lang' oder 'scheme' Modifikator
- Attributen enthalten.
- </para>
- <para>
- Der <code>HeadMeta</code> Helfer unterstützt die folgenden Methoden für das Setzen und
- Hinzufügen von Meta Tags:
- </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>
- Das <varname>$keyValue</varname> Element wird verwendet um einen Wert für den 'name' oder
- 'http-equiv' Schlüssel zu definieren; <varname>$content</varname> ist der Wert für den
- 'content' Schlüssel, und <varname>$modifiers</varname> ist ein optionales assoziatives Array
- das Schlüssel für 'land und/oder 'scheme' enthalten kann.
- </para>
- <para>
- Meta Tags können auch gesetzt werden indem die <methodname>headMeta()</methodname>
- Helfermethode verwendet wird, welche die folgende Signatur hat: <code>headMeta($content,
- $keyValue, $keyType = 'name', $modifiers = array(), $placement = 'APPEND')</code>.
- <varname>$keyValue</varname> ist der Intalt für den Schlüssel der in
- <varname>$keyType</varname> spezifiziert ist, und welche entweder 'name' oder 'http-equiv'
- sein sollte. <varname>$placement</varname> kann entweder 'SET' (überschreibt alle vorher
- gespeicherten Werte), 'APPEND' (fügt an das Ende des Stacks hinzu), oder 'PREPEND' (fügt an
- den Beginn des Stacks hinzu) sein.
- </para>
- <para>
- <code>HeadMeta</code> überschreibt <methodname>append()</methodname>,
- <methodname>offsetSet()</methodname>, <methodname>prepend()</methodname>, und
- <methodname>set()</methodname> um die Verwendung der speziellen Methoden wie oben gelistet
- zu erzwingen. Intern wird jedes Element als <code>stdClass</code> Token gespeichert, welches
- später durch Verwendung der <methodname>itemToString()</methodname> Methode serialisiert
- wird. Das erlaubt es Prüfungen an den Elementen im Stack durchzuführen, und diese Elemente
- optional zu verändern indem einfach das zurückgegebene Objekt verändert wird.
- </para>
- <para>
- Der <code>HeadMeta</code> Helfer ist eine konkrete Implementation des
- <link linkend="zend.view.helpers.initial.placeholder">Platzhalter Helfers</link>.
- </para>
- <example id="zend.view.helpers.initial.headmeta.basicusage">
- <title>Grundsätzliche Verwendung des HeadMeta Helfers</title>
- <para>
- Neue Meta Tags können jederzeit spezifiziert werden. Typischerweise werden Clientseitige
- Cacheregeln oder SEO Schlüsselwörter spezifiziert.
- </para>
- <para>
- Wenn zum Beispiel ein spezielles SEO Schlüsselwort spezifiziert werden soll, kann das
- durch die Erstellung eines Meta Nametags, mit dem Namen 'keywords' und dem Inhalt des
- Schlüsselworts das mit der Seite assoziiert werden soll, geschehen:
- </para>
- <programlisting language="php"><![CDATA[
- // Meta Schlüsselwörter setzen
- $this->headMeta()->appendName('keywords', 'framework, PHP, productivity');
- ]]></programlisting>
- <para>
- Wenn Clientseitige Cacheregeln gesetzt werden sollen, können http-equiv Tags mit den
- Regeln die erzwungen werden sollen, gesetzt werden:
- </para>
- <programlisting language="php"><![CDATA[
- // Clientseitiges cachen verhindern
- $this->headMeta()->appendHttpEquiv('expires',
- 'Wed, 26 Feb 1997 08:21:57 GMT')
- ->appendHttpEquiv('pragma', 'no-cache')
- ->appendHttpEquiv('Cache-Control', 'no-cache');
- ]]></programlisting>
- <para>
- Ein anderer populärer Verwendungszweck für Meta Tags ist das Setzen des Inhalt-Typs,
- Zeichensatzes, und der Sprache:
- </para>
- <programlisting language="php"><![CDATA[
- // Setzen des Inhalttyps und des Zeichensatzes
- $this->headMeta()->appendHttpEquiv('Content-Type',
- 'text/html; charset=UTF-8')
- ->appendHttpEquiv('Content-Language', 'en-US');
- ]]></programlisting>
- <para>
- Als letztes Beispiel, ein einfacher Weg um eine kurze Nachricht anzuzeigen bevor mit
- Hilfe eines "Meta Refreshes" weitergeleitet wird:
- </para>
- <programlisting language="php"><![CDATA[
- // Einen Meta Refresh mit 3 Sekunden zu einer neuen URL setzen:
- $this->headMeta()->appendHttpEquiv('Refresh',
- '3;URL=http://www.some.org/some.html');
- ]]></programlisting>
- <para>
- Wenn man bereit ist die Meta Tags im Layout zu platzieren, muß einfach der Helfer
- ausgegeben werden:
- </para>
- <programlisting language="php"><![CDATA[
- <?php echo $this->headMeta() ?>
- ]]></programlisting>
- </example>
- </sect3>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|