1

タグnavigation.xml内にサブメニューがあるシンプルなメニューがあるファイルがあります。URLに<pages>追加のパラメータがある場合を除いて、サブメニューはうまく機能しています。$_GET

次のように: admin/manage/pages/id/1 <-- この URL ではサブメニューが表示されない

リンクの説明: {module}/{controller}/{action}/{key}/{value}

私のセットアップは基本的なものであり、動作が奇妙であるため、これ以上の情報はないと思います。

うまくいけば、これがどこで間違っているのかがわかります。

ちなみに、私はデフォルトルートを使用しています。


編集: サブメニューを表示するために次のコードを使用します( ArtWorkAD$this->navigation()->menu()->setMaxDepth(0);からの両方のコード提案は機能しませんでした)

これが私のnavigation.xmlです: ` ウェブサイト /

    <beheer>
        <label>Beheer</label>
        <module>admin</module>
        <controller>beheer</controller>
        <uri>/admin/beheer</uri>

        <pages>
    <paginabeheer>
        <label>Pagina beheer</label>
        <module>admin</module>
        <controller>paginabeheer</controller>
        <action>index</action>
                **//THE CODE BELOW IS ADDED ON ArtWorkAD's SUGGESTION**
                <pages>
                    <paginabeheer>
                        <label>Pagina beheer</label>
                        <module>admin</module>
                        <controller>paginabeheer</controller>
                        <action>index</action>
                    </paginabeheer>
                </pages>
                **// END ADDED CODE**
            </paginabeheer>
    </pages>

    </beheer>
</nav>

`

4

2 に答える 2

1

これはバグだと言う人もいますが、簡単な回避策があると思います。

この問題を見てください: Zend_View_Helper_Navigation_Menu::renderSubMenu() はデフォルトで minDepth=1 を使用する必要があります

したがって、このように minDepth を使用してみてください

// Navigation 1. Level
echo $this->navigation()->menu()->renderMenu(null, 
          array('minDepth' => 0, 'maxDepth' => 0));

// Navigation 2. Level
echo $this->navigation()->menu()->renderMenu(null, 
          array('minDepth' => 1, 'maxDepth' => 2, 'onlyActiveBranch' => true));

これが機能しない場合は、サブメニュー項目をサブメニューに追加して何が起こるかを確認してください。サブメニューがレンダリングされるはずです。

于 2011-03-02T06:14:03.640 に答える
0

ArtWorkADあなたは正しかったです!私は自分が間違ったことを見つけました。

現在、動作するコードは次のとおりです。<?= $this->navigation()->menu()->setUlClass('navigation-submenu')->renderMenu(null, array('minDepth' => 2, 'maxDepth' => 2)); ?>

だからあなたの答えは正しかった!私のXMLファイルには、追加のサブサブページがある必要があります。回避策をありがとうございます!

あなたの投稿を回答としてマークします。

于 2011-03-04T10:54:29.467 に答える