| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 17172 -->
- <sect1 id="zend.navigation.migration">
- <title>前バージョンからの移行</title>
- <para>
- この章は、主に<classname>Zend_Navigation</classname>
- 及び<classname>Zend_View_Helper_Navigation</classname>
- でなされる下位互換性破壊を文書化して、
- 前バージョンからの移行を手伝う役目を果たさなければなりません。
- </para>
- <sect2 id="zend.view.navigation.zf7341">
- <title>バージョン 1.9以前からの移行</title>
- <para>
- 1.9のリリース以前は、
- メニュー・ヘルパー(<classname>Zend_View_Helper_Navigation_Menu</classname>)は、
- サブ・メニューを正しくレンダリングしませんでした。
- <code>onlyActiveBranch</code>が<constant>TRUE</constant>で、
- オプションの<code>renderParents</code>が<constant>FALSE</constant>のとき、
- もし、もっとも深いアクティブなページが<code>minDepth</code>オプションよりも少ない深さの場合には、
- 何もレンダリングされませんでした。
- </para>
- <para>
- 簡単に言うと、もし<code>minDepth</code>が<code>1</code>に設定され、
- アクティブなページが最初のレベルのページの一つだったら、
- 下記の例のように、何もレンダリングされませんでした。
- </para>
- <para>
- 下記のコンテナを設定したと考えてください。
- </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>
- 下記のコードがビュースクリプトとして使われます。
- </para>
- <programlisting language="php"><![CDATA[
- <?php echo $this->navigation()->menu()->renderMenu($container, array(
- 'minDepth' => 1,
- 'onlyActiveBranch' => true,
- 'renderParents' => false
- )); ?>
- ]]></programlisting>
- <para>
- リリース 1.9 以前では、上記のコード・スニペットは何も出力しませんでした。
- </para>
- <para>
- リリース1.9以降では、
- <classname>Zend_View_Helper_Navigation_Menu</classname>の
- <methodname>_renderDeepestMenu()</methodname>メソッドが
- <code>minDepth</code>以下の一つの層のレベルのアクティブなページを、
- そのページが子供を持つ限り、受け入れます。
- </para>
- <para>
- 今では、同じコード・スニペットは下記のように出力するようになります。
- </para>
- <programlisting language="html"><![CDATA[
- <ul class="navigation">
- <li>
- <a href="#">Server</a>
- </li>
- <li>
- <a href="#">Studio</a>
- </li>
- </ul>
- ]]></programlisting>
- </sect2>
- </sect1>
|