1

次の Zend_Navigation 構成があります

-Item1
-Item2
   |---SubItem2 1
   |---SubItem2 2
   |---SubItem2 3 (Visible = false)
-Item3
   |---SubItem3 1
   |---SubItem3 2
-Item4
   |---SubItem4 1

現在、アプリケーションでは、ユーザーが SubItems (visible = true) にいるときはいつでも、サブメニューが正しくレンダリングされます。しかし、ユーザーが「SubItem2 3」のような目に見えないページにいるときはいつでも。サブメニューはレンダリングされません。

setRenderInvisible() を実行することでブレッドクラムをレンダリングでき、機能します。

サブメニューをレンダリングできませんでした。

以下は、メニューとサブメニューをレンダリングするために使用するコードです。

レイアウトファイルにあります。

           <div id="top-nav-menu">
           <?php echo $this->navigation()->menu()->setMaxDepth(0)->setUlClass('topNav'); ?>
       </div>
       <div class="clear"></div>

       <div id="sub-nav-menu">
            <?php echo $this->navigation()->menu()->setMaxDepth(1)->setMinDepth(1)->setOnlyActiveBranch(true)->setUlClass('subNav') ; ?>
            <p style="display:inline;">&nbsp;</p>
       </div>

情報/ポインタは大歓迎です。

ありがとう、

4

1 に答える 1

1

よし、別の質問からのいくつかの情報でこれを解決できました: Zend_Navigation with hidden Pages

主な問題は、visible = false の場合、アクティブなページがないことでした。この結果、メニュー項目はレンダリングされませんでした。そのため、コントローラーヘルパーでは、他のスレッドで提案されているものとは別に、アクティブなページがあるかどうかも確認します。アクティブなページがない場合は、デフォルトのページをアクティブに設定し、メニューを適切にレンダリングします。

これが誰かに役立つことを願っています。ありがとう!

于 2011-02-16T23:58:54.007 に答える