Подменю рендеринга Zend_Navigation - PullRequest
1 голос
/ 16 февраля 2011

У меня есть следующий конфиг Zend_Navigation

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

Теперь в приложении, когда пользователь находится в подэлементах (visible = true), подменю отображается правильно. Но всякий раз, когда пользователь находится на странице invisibale, как «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>

Любая информация / указатели приветствуются.

Спасибо

1 Ответ

1 голос
/ 17 февраля 2011

Хорошо, удалось решить эту проблему с помощью информации из других вопросов: Zend_Navigation со скрытыми страницами

Основная проблема заключалась в том, что когда visible = false, активной страницы не было.В результате этого не было отображено ни одного пункта меню.Так что теперь в помощнике контроллера, кроме того, что предлагается в другом потоке, я также проверяю, активна ли какая-либо страница.Если ни одна страница не активна, я устанавливаю страницу по умолчанию как активную, и меню отображается хорошо.

Надеюсь, это кому-нибудь поможет.Спасибо!

...