<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect3 id="zend.view.helpers.initial.headlink">
    <title>Помощник HeadLink</title>

    <para>
        HTML-элемент <code>&lt;link&gt;</code> все чаще используется для
        создания связей с различными ресурсами - таблицами стилей,
        лентами новостей, пиктограммами (favicon), обратными ссылками (trackback)
        и многим другим.
        Помощник <code>HeadLink</code> предоставляет простой интерфейс
        для создания и агрегирования этих элементов с целью последующего
        извлечения и вывода в вашем скрипте макета (layout script).
    </para>

    <para>
        Помощник <code>HeadLink</code> имеет специальные методы для добавления
        таблиц стилей в его стек:
    </para>

    <itemizedlist>
        <listitem><para><code>appendStylesheet($href, $media,
                    $conditionalStylesheet, $extras)</code></para></listitem>
        <listitem><para><code>offsetSetStylesheet($index, $href, $media,
                    $conditionalStylesheet, $extras)</code></para></listitem>
        <listitem><para><code>prependStylesheet($href, $media,
                    $conditionalStylesheet, $extras)</code></para></listitem>
        <listitem><para><code>setStylesheet($href, $media,
                    $conditionalStylesheet, $extras)</code></para></listitem>
    </itemizedlist>

    <para>
        По умолчанию аргумент <varname>$media</varname> имеет значение 'screen',
        но через него могут передаваться и другие допустимые значения атрибута
        media. <varname>$conditionalStylesheet</varname> может быть либо
        строкой, либо иметь булево значение false, он используется
        для определения того, требуется ли использовать специальные
        комментарии для предотвращения загрузки данной таблицы стилей на
        определенных платформах.
        <varname>$extras</varname> является массивом дополнительных атрибутов,
        которые вы хотите добавить в элемент.
    </para>

    <para>
        Помощник <code>HeadLink</code> также имеет специальные методы
        для добавления альтернативных связей в его стек:
    </para>

    <itemizedlist>
        <listitem><para><code>appendAlternate($href, $type,
                    $title, $extras)</code></para></listitem>
        <listitem><para><code>offsetSetAlternate($index, $href, $type,
                    $title, $extras)</code></para></listitem>
        <listitem><para><code>prependAlternate($href, $type,
                    $title, $extras)</code></para></listitem>
        <listitem><para><code>setAlternate($href, $type,
                    $title, $extras)</code></para></listitem>
    </itemizedlist>

    <para>
        Метод <code>headLink()</code> позволяет указывать все
        атрибуты, необходимые для элемента <code>&lt;link&gt;</code>,
        он также позволяет указывать место размещения -
        новый элемент либо замещает все остальные элементы, либо добавляется в
        начало/конец стека.
    </para>

    <para>
        Помощник <code>HeadLink</code> является частной реализацией
        <link linkend="zend.view.helpers.initial.placeholder">помощника
            Placeholder</link>.
    </para>

    <example id="zend.view.helpers.initial.headlink.basicusage">
        <title>Использование помощника HeadLink</title>

        <para>
            Вы можете указывать <code>headLink</code> в любой момент времени.
            Глобальные ссылки обычно указываются в скрипте макета,
            а специальные (для отдельных страниц) - в скриптах вида.
            В вашем скрипте макета, в разделе &lt;head&gt;, вы "выводите"
            помощника, при этом будут выведены ссылки, которые вы добавили
            ранее.
        </para>

        <programlisting language="php"><![CDATA[
<?php // установка ссылок в скрипте вида:
$this->headLink()->appendStylesheet('/styles/basic.css')
                 ->headLink(array('rel' => 'favicon',
                                  'href' => '/img/favicon.ico'),
                                  'PREPEND')
                 ->prependStylesheet('/styles/moz.css',
                                     'screen',
                                     true,
                                     array('id' => 'my_stylesheet'));
?>
<?php // вывод ссылок: ?>
<?php echo $this->headLink() ?>
]]></programlisting>
    </example>
</sect3>
<!--
vim:se ts=4 sw=4 et:
-->
