1 <sect3 id="zend.view.helpers.initial.headmeta">
2 <title>Helper HeadMeta</title>
5 Element HTML <code><meta></code> używany jest do definiowania
6 informacji meta o dokumencie HTML -- zazwyczaj są to słowa kluczowe,
7 informacje o zestawie znaków, informacje o sposobie buforowania itp.
8 Są dwa rodzaje znaczników meta, 'http-equiv' oraz 'name', oba muszą
9 zawierać także atrybut 'content', a mogą dodatkowo zawierać jeszcze
10 atrybuty 'lang' oraz 'scheme'.
14 Helper <code>HeadMeta</code> udostępnia następujące metody do ustawiania
15 i dodawania znaczników meta:
19 <listitem><para><code>appendName($keyValue, $content,
20 $conditionalName)</code></para></listitem>
21 <listitem><para><code>offsetSetName($index, $keyValue, $content,
22 $conditionalName)</code></para></listitem>
23 <listitem><para><code>prependName($keyValue, $content,
24 $conditionalName)</code></para></listitem>
25 <listitem><para><code>setName($keyValue, $content,
26 $modifiers)</code></para></listitem>
27 <listitem><para><code>appendHttpEquiv($keyValue, $content,
28 $conditionalHttpEquiv)</code></para></listitem>
29 <listitem><para><code>offsetSetHttpEquiv($index, $keyValue, $content,
30 $conditionalHttpEquiv)</code></para></listitem>
31 <listitem><para><code>prependHttpEquiv($keyValue, $content,
32 $conditionalHttpEquiv)</code></para></listitem>
33 <listitem><para><code>setHttpEquiv($keyValue, $content,
34 $modifiers)</code></para></listitem>
38 Zmienna <code>$keyValue</code> jest używana do definiowania wartości
39 atrybutów 'name' oraz 'http-equiv'; Zmienna <code>$content</code>
40 definiuje wartość atrybutu 'content', a zmienna <code>$modifiers</code>
41 jest opcjonalną asocjacyjną tablicą, która może zawierać klucze dla
42 atrybutów 'lang' oraz 'scheme'.
46 Możesz także ustawić znaczniki meta używając metody <code>headMeta()</code>
47 helpera, która posiada następującą sygnaturę: <code>headMeta($content,
48 $keyValue, $keyType = 'name', $modifiers = array(), $placement =
50 Parametr <code>$keyValue</code> jest zawartością dla klucza określonego
51 w parametrze <code>$keyType</code>, którego wartością zawsze powinno być
52 'name' lub 'http-equiv'.
53 Parametr <code>$placement</code> może mieć wartość 'SET' (nadpisuje
54 wszystkie wcześniej ustawione wartości), 'APPEND' (dodaje na spód stosu),
55 lub 'PREPEND' (dodaje na wierzchołek stosu).
59 Helper <code>HeadMeta</code> nadpisuje każdą z metod <code>append()</code>,
60 <code>offsetSet()</code>, <code>prepend()</code>, oraz <code>set()</code>
61 aby wymusić użycie specjalnych metod opisanych powyżej.
62 Wewnętrznie klasa przechowuje każdy element jako obiekt klasy
63 <code>stdClass</code>, który jest potem serializowany za pomocą metody
64 <code>itemToString()</code>.
65 Pozwala to na sprawdzenie elementów znajdujących się na stosie, a także
66 na zmianę wartości poprzez modyfikację zwróconego obiektu.
70 Helper<code>HeadMeta</code> jest implementacją
71 <link linkend="zend.view.helpers.initial.placeholder">helpera
75 <example id="zend.view.helpers.initial.headmeta.basicusage">
76 <title>Podstawowe użycie helpera HeadMeta</title>
79 Możesz określić nowy znacznik meta w dowolnej chwili. Najczęściej
80 będziesz określał zasady buforowania po stronie klienta oraz
85 Przykładowo, jeśli chcesz określić słowa kluczowe SEO, powinieneś
86 utworzyć znacznik meta o nazwie 'keywords', a jego zawartością
87 powinny być słowa kluczowe, które chcesz połączyć z daną stroną:
90 <programlisting role="php"><![CDATA[
91 // ustawienie słów kluczowych
92 $this->headMeta()->appendName('keywords', 'framework php productivity');
97 Jeśli chcesz ustalić zasady buforowania po stronie klienta,
98 powinieneś ustawić znaczniki http-equiv:
101 <programlisting role="php"><![CDATA[
102 // zablokowanie buforowania po stronie klienta
103 $this->headMeta()->appendHttpEquiv('expires',
104 'Wed, 26 Feb 1997 08:21:57 GMT')
105 ->appendHttpEquiv('pragma', 'no-cache')
106 ->appendHttpEquiv('Cache-Control', 'no-cache');
111 Innym popularnym przykładem użycia znaczników meta jest ustawienie
112 typu zawartości, zestawu znaków oraz języka:
115 <programlisting role="php"><![CDATA[
116 // ustawienie typu zawartości i zestawu znaków
117 $this->headMeta()->appendHttpEquiv('Content-Type',
118 'text/html; charset=UTF-8')
119 ->appendHttpEquiv('Content-Language', 'en-US');
124 Ostatnim przykład pokazuje jak można w łatwy sposób wyświetlić
125 komunikat bezpośrednio przez przekierowaniem używając znacznika
129 <programlisting role="php"><![CDATA[
130 // ustawienie czasu odświeżenia strony na 3 sekundy z nowym adresem URL:
131 $this->headMeta()->appendHttpEquiv('Refresh',
132 '3;URL=http://www.some.org/some.html');
137 Jeśli jesteś gotowy na wyświetlenie znaczników meta w layoucie, po
138 prostu wyświetl helper:
141 <programlisting role="php"><![CDATA[
142 <?= $this->headMeta() ?>