[ZF-10089] Zend_Log
[zend.git] / documentation / manual / pl / module_specs / Zend_View-Helpers-HeadMeta.xml
blob90197be678346df1e9b90e23a58bb391e1d43ebe
1 <sect3 id="zend.view.helpers.initial.headmeta">
2     <title>Helper HeadMeta</title>
4     <para>
5         Element HTML <code>&lt;meta&gt;</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'.
11     </para>
13     <para>
14         Helper <code>HeadMeta</code> udostępnia następujące metody do ustawiania
15         i dodawania znaczników meta:
16     </para>
18     <itemizedlist>
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>
35     </itemizedlist>
37     <para>
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'.
43     </para>
45     <para>
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 =
49             'APPEND')</code>.
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).
56     </para>
58     <para>
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.
67     </para>
69     <para>
70         Helper<code>HeadMeta</code> jest implementacją
71         <link linkend="zend.view.helpers.initial.placeholder">helpera
72             Placeholder</link>.
73     </para>
75     <example id="zend.view.helpers.initial.headmeta.basicusage">
76         <title>Podstawowe użycie helpera HeadMeta</title>
78         <para>
79             Możesz określić nowy znacznik meta w dowolnej chwili. Najczęściej
80             będziesz określał zasady buforowania po stronie klienta oraz
81             dane SEO.
82         </para>
84         <para>
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ą:
88         </para>
90         <programlisting role="php"><![CDATA[
91 // ustawienie słów kluczowych
92 $this->headMeta()->appendName('keywords', 'framework php productivity');
93 ]]>
94         </programlisting>
96         <para>
97             Jeśli chcesz ustalić zasady buforowania po stronie klienta,
98             powinieneś ustawić znaczniki http-equiv:
99         </para>
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');
108         </programlisting>
110         <para>
111             Innym popularnym przykładem użycia znaczników meta jest ustawienie
112             typu zawartości, zestawu znaków oraz języka:
113         </para>
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');
121         </programlisting>
123         <para>
124             Ostatnim przykład pokazuje jak można w łatwy sposób wyświetlić
125             komunikat bezpośrednio przez przekierowaniem używając znacznika
126             "meta refresh":
127         </para>
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');
134         </programlisting>
136         <para>
137             Jeśli jesteś gotowy na wyświetlenie znaczników meta w layoucie, po
138             prostu wyświetl helper:
139         </para>
141         <programlisting role="php"><![CDATA[
142 <?= $this->headMeta() ?>
144         </programlisting>
145     </example>
146 </sect3>