| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <sect3 id="zend.view.helpers.initial.headmeta">
- <title>Помощник HeadMeta</title>
- <para>
- Элемент <code><meta></code> используется для добавления
- мета-информации о вашем HTML-документе, обычно это ключевые слова,
- кодировка документа, директивы управления кэшированием и т.д.
- Метатег может быть одного из следующих типов: 'http-equiv' или 'name',
- должен содержать атрибут 'content', также он может иметь атрибуты
- 'lang' и 'scheme'.
- </para>
- <para>
- Помощник <code>HeadMeta</code> поддерживает следующие методы для
- установки и добавления метатегов:
- </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>
- Параметр <varname>$keyValue</varname> используется для установки значения
- атрибута 'name' или 'http-equiv'; <varname>$content</varname> является
- значением атрибута 'content', а <varname>$modifiers</varname> - необязательный
- параметр, который может быть ассоциативным массивом с ключами 'lang'
- и/или 'scheme'.
- </para>
- <para>
- Вы можете также устанавливать метатеги, используя метод
- <code>headMeta()</code>, который имеет следующую сигнатуру:
- <code>headMeta($content,
- $keyValue, $keyType = 'name', $modifiers = array(), $placement =
- 'APPEND')</code>. Через <varname>$keyValue</varname> передается содержимое
- ключа, указанного в <varname>$keyType</varname> (ключом может быть 'name' или
- 'http-equiv'). <varname>$placement</varname> может иметь одно из следующих
- значений: 'SET' (замена всех ранее сохраненных значений), 'APPEND'
- (добавление в конец стека) или 'PREPEND' (добавление в начало стека).
- </para>
- <para>
- <code>HeadMeta</code> перегружает методы <code>append()</code>,
- <code>offsetSet()</code>, <code>prepend()</code> и <code>set()</code>
- с целью принудительного использования специальных методов, перечисленных
- выше. Внутри себя помощник сохраняет каждый элемент в виде маркера
- <code>stdClass</code>, который затем преобразовывается в строку через
- метод <code>itemToString()</code>. Это позволяет производить проверку
- элементов в стеке и при необходимости модифицировать их, просто
- извлекая объект и изменяя его.
- </para>
- <para>
- Помощник <code>HeadMeta</code> является частной реализацией
- <link linkend="zend.view.helpers.initial.placeholder">помощника
- Placeholder</link>.
- </para>
- <example id="zend.view.helpers.initial.headmeta.basicusage">
- <title>Использование помощника HeadMeta</title>
- <para>
- Вы можете указывать новые метатеги в любой момент времени. Обычно
- это правила кэширования для клиентской стороны и ключевые слова для
- поисковой оптимизации.
- </para>
- <para>
- Например, если вы хотите указать ключевые слова для поисковой
- оптимизации, то вам нужно создать метатег с именем 'keywords'
- и ключевыми словами для вашей страницы:
- </para>
- <programlisting language="php"><![CDATA[
- // установка мета-ключевых слов
- $this->headMeta()->appendName('keywords', 'framework php productivity');
- ]]></programlisting>
- <para>
- Если требуется установить правила кэширования для
- клиентской стороны, то вы можете установить теги http-equiv
- с требуемыми правилами кэширования:
- </para>
- <programlisting language="php"><![CDATA[
- // отключает кэширование на клиентской стороне
- $this->headMeta()->appendHttpEquiv('expires',
- 'Wed, 26 Feb 1997 08:21:57 GMT')
- ->appendHttpEquiv('pragma', 'no-cache')
- ->appendHttpEquiv('Cache-Control', 'no-cache');
- ]]></programlisting>
- <para>
- Другие распространенные случаи использования - установка типа
- содержимого, кодировки и языка документа:
- </para>
- <programlisting language="php"><![CDATA[
- // установка типа содержимого и кодировки
- $this->headMeta()->appendHttpEquiv('Content-Type',
- 'text/html; charset=UTF-8')
- ->appendHttpEquiv('Content-Language', 'en-US');
- ]]></programlisting>
- <para>
- И последний пример - мета-обновление как простой способ отображения
- промежуточного сообщения до перенаправления:
- </para>
- <programlisting language="php"><![CDATA[
- // установка мета-обновления через 3 секунды с новым URL:
- $this->headMeta()->appendHttpEquiv('Refresh',
- '3;URL=http://www.some.org/some.html');
- ]]></programlisting>
- <para>
- Когда все будет готово для помещения тегов в макет, просто
- "выводите" помощника:
- </para>
- <programlisting language="php"><![CDATA[
- <?php echo $this->headMeta() ?>
- ]]></programlisting>
- </example>
- </sect3>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|