<commit_before><?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 16981 -->
<!-- Reviewed: no -->
<sect1 id="zend.navigation.migration">
    <title>Migrating from Previous Versions</title>

    <para>
        This chapter documents primarily backwards compatibility breaks made in
        Zend_Navigation and Zend_View_Helper_Navigation, and should serve to aid
        in migration from previous versions.
    </para>

    <sect2 id="zend.view.navigation.zf7341">
        <title>Migrating from versions prior to 1.9</title>

        <para>
            Prior to the 1.9 release, the menu helper
            (<classname>Zend_View_Helper_Navigation_Menu</classname>) did not
            render sub menus correctly. When the <code>onlyActiveBranch</code>
            was <code>true</code> and the option <code>renderParents</code>
            <code>false</code>, nothing would be rendered if the deepest active
            page was at a depth lower than the <code>minDepth</code> option.
        </para>

        <para>
            In simpler words; if <code>minDepth</code> was set to <code>1</code>
            and the active page was at one of the first level pages, nothing
            would be rendered, as the following example shows.
        </para>

        <para>
            Consider the following container setup:
        </para>

        <programlisting language="php"><![CDATA[
<?php
$container = new Zend_Navigation(array(
    array(
        'label' => 'Home',
        'uri'   => '#'
    ),
    array(
        'label'  => 'Products',
        'uri'    => '#',
        'active' => true,
        'pages'  => array(
            array(
                'label' => 'Server',
                'uri'   => '#'
            ),
            array(
                'label' => 'Studio',
                'uri'   => '#'
            )
        )
    ),
    array(
        'label' => 'Solutions',
        'uri'   => '#'
    )
));
]]></programlisting>

        <para>
            The following code is used in a view script:
        </para>

        <programlisting language="php"><![CDATA[
<?php echo $this->navigation()->menu()->renderMenu($container, array(
    'minDepth'         => 1,
    'onlyActiveBranch' => true,
    'renderParents'    => false
)); ?>]]></programlisting>

        <para>
            Before release 1.9, the code snippet above would output nothing.
        </para>

        <para>
            Since release 1.9, the <code>_renderDeepestMenu()</code> method in
            <classname>Zend_View_Helper_Navigation_Menu</classname> will accept
            active pages at one level below <code>minDepth</code>, as long as
            the page has children.
        </para>

        <para>
            The same code snippet will now output the following:
        </para>

        <programlisting language="html"><![CDATA[
<ul class="navigation">
    <li>
        <a href="#">Server</a>
    </li>
    <li>
        <a href="#">Studio</a>
    </li>
</ul>]]></programlisting><commit_msg>[DOCUMENTATION] German:<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 16981 -->
<!-- Reviewed: no -->
<sect1 id="zend.navigation.migration">
    <title>Migration von vorhergehenden Versionen</title>

    <para>
        Dieses Kapitel beschreibt primär Brüche in der Abwärtskompatibilität von Zend_Navigation
        und Zend_View_Helper_Navigation und sollte als Hilfe bei der Migration von vorhergehenden
        Versionen dienen.
    </para>

    <sect2 id="zend.view.navigation.zf7341">
        <title>Migration von Versionen vor 1.9</title>

        <para>
            Vor dem Release 1.9 hat der Menü Helfer
            (<classname>Zend_View_Helper_Navigation_Menu</classname>) Untermenüs nicht richtig
            dargestellt. Wenn <code>onlyActiveBranch</code> <code>true</code> war und die Option
            <code>renderParents</code> <code>false</code> wurde nichts dargestellt wenn die
            tiefste aktive Seite auf einer geringeren Tiele als die <code>minDepth</code> Option
            war.
        </para>

        <para>
            In einfacheren Worten; Wenn <code>minDepth</code> auf <code>1</code> gesetzt war und
            die aktive Seite eine der Seiten am Anfangs-Level, wurde nichts dargestellt wie das
            folgende Beispiel zeigt.
        </para>

        <para>
            Das folgende Container Setup wird angenommen:
        </para>

        <programlisting language="php"><![CDATA[
<?php
$container = new Zend_Navigation(array(
    array(
        'label' => 'Home',
        'uri'   => '#'
    ),
    array(
        'label'  => 'Products',
        'uri'    => '#',
        'active' => true,
        'pages'  => array(
            array(
                'label' => 'Server',
                'uri'   => '#'
            ),
            array(
                'label' => 'Studio',
                'uri'   => '#'
            )
        )
    ),
    array(
        'label' => 'Solutions',
        'uri'   => '#'
    )
));
]]></programlisting>

        <para>
            Der folgende Code wird in einem View Script verwendet:
        </para>

        <programlisting language="php"><![CDATA[
<?php echo $this->navigation()->menu()->renderMenu($container, array(
    'minDepth'         => 1,
    'onlyActiveBranch' => true,
    'renderParents'    => false
)); ?>]]></programlisting>

        <para>
            Vor dem Release 1.9 würde der obige Codeabschnitt nichts ausgeben.
        </para>

        <para>
            Seit dem Release 1.9 akzeptiert die <code>_renderDeepestMenu()</code> Methode in
            <classname>Zend_View_Helper_Navigation_Menu</classname> aktive Seiten die ein Level
            unter <code>minDepth</code> sind, solange diese Seite Kinder hat.
        </para>

        <para>
            Der gleiche Codeabschnitt zeigt jetzt die folgende Ausgabe:
        </para>

        <programlisting language="html"><![CDATA[
<ul class="navigation">
    <li>
        <a href="#">Server</a>
    </li>
    <li>
        <a href="#">Studio</a>
    </li>
</ul>]]></programlisting>
{'fraction_non_alphanumeric': 0.1314616019818332, 'fraction_numerical': 0.007927332782824112, 'mean_word_length': 2.0189431704885346, 'pattern_counts': {'":': 0, '<': 139, '<?xml version=': 2, '>': 173, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3436197', 'n_tokens_mistral': 1833, 'n_tokens_neox': 1756, 'n_words': 483}