前バージョンからの移行
この章は、主にZend_Navigation
及びZend_View_Helper_Navigation
でなされる下位互換性破壊を文書化して、
前バージョンからの移行を手伝う役目を果たさなければなりません。
バージョン 1.9以前からの移行
1.9のリリース以前は、
メニュー・ヘルパー(Zend_View_Helper_Navigation_Menu)は、
サブ・メニューを正しくレンダリングしませんでした。
onlyActiveBranchがTRUEで、
オプションのrenderParentsがFALSEのとき、
もし、もっとも深いアクティブなページがminDepthオプションよりも少ない深さの場合には、
何もレンダリングされませんでした。
簡単に言うと、もしminDepthが1に設定され、
アクティブなページが最初のレベルのページの一つだったら、
下記の例のように、何もレンダリングされませんでした。
下記のコンテナを設定したと考えてください。
'Home',
'uri' => '#'
),
array(
'label' => 'Products',
'uri' => '#',
'active' => true,
'pages' => array(
array(
'label' => 'Server',
'uri' => '#'
),
array(
'label' => 'Studio',
'uri' => '#'
)
)
),
array(
'label' => 'Solutions',
'uri' => '#'
)
));
]]>
下記のコードがビュースクリプトとして使われます。
navigation()->menu()->renderMenu($container, array(
'minDepth' => 1,
'onlyActiveBranch' => true,
'renderParents' => false
)); ?>
]]>
リリース 1.9 以前では、上記のコード・スニペットは何も出力しませんでした。
リリース1.9以降では、
Zend_View_Helper_Navigation_Menuの
_renderDeepestMenu()メソッドが
minDepth以下の一つの層のレベルのアクティブなページを、
そのページが子供を持つ限り、受け入れます。
今では、同じコード・スニペットは下記のように出力するようになります。
Server
Studio
]]>