подменю не отображается при получении параметров запроса - PullRequest
1 голос
/ 01 марта 2011

У меня есть файл navigation.xml, где у меня есть простое меню с подменю внутри тега <pages>. Подменю работает хорошо, за исключением случаев, когда у меня есть добавление $_GET параметров, которые находятся в URL.

Как это: admin/manage/pages/id/1 <- с этим URL подменю не отображается </p>

Ссылка объяснила: {module}/{controller}/{action}/{key}/{value}

Я думаю, что у меня нет больше информации, потому что мои настройки просто базовые, а поведение странное.

Надеюсь, у вас есть идея, где все идет не так.

Кстати: я использую маршруты по умолчанию.


Редактировать: я использую следующий код для отображения подменю $this->navigation()->menu()->setMaxDepth(0); (оба предложения кода из ArtWorkAD не работали)

Вот мой файл 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>

`

Ответы [ 2 ]

1 голос
/ 02 марта 2011

Некоторые люди говорят, что это ошибка, но я думаю, что есть простой обходной путь.

Посмотрите на эту проблему: 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));

Если это не сработает, попробуйте добавить элемент подменю в ваше подменю, чтобы посмотреть, что произойдет, теперь оно должно отобразить ваше подменю.

0 голосов
/ 04 марта 2011

ArtWorkAD ты был прав! Я обнаружил, что я сделал не так.

Теперь рабочий код: <?= $this->navigation()->menu()->setUlClass('navigation-submenu')->renderMenu(null, array('minDepth' => 2, 'maxDepth' => 2)); ?>

Итак, ваш ответ был верным! В моем XML-файле необходимо, чтобы у меня была дополнительная под-страница. Большое спасибо за ваш обходной путь!

Я отмечаю ваше сообщение как ответ.

...