2011-03-01 54 views
1

我有一个navigation.xml文件,在那里我有一个简单的菜单,在<pages>标签中有一个子菜单。 子菜单运行良好,除非我在url中添加了$_GET params。子菜单没有显示何时得到请求参数

喜欢这个:admin/manage/pages/id/1 < - 以这样的URL子菜单中没有显示

链接解释说: {module}/{controller}/{action}/{key}/{value}

我觉得我没有更多的信息,因为我的设置仅仅是基本的,行为奇怪。

希望你有一个想法,哪里出错了。

Bytheway:我使用默认路由。


编辑:我用下面的代码显示的子菜单中的$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> 

`

+1

你能添加你的navigation.xml文件吗?我认为你有错误。 – 2011-03-02 09:58:21

回答

1

有人说这是一个错误,但我认为有一个简单的解决方法。

看一看这个问题:Zend_View_Helper_Navigation_Menu::renderSubMenu() should use minDepth=1 per default

因此,使用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

感谢您的评论。你提供的两种解决方案都不起作用。我将尝试添加我的navigation.xlm。 – DelphiLynx 2011-03-03 13:23:14

0

ArtWorkAD你是对的!我发现我做错了什么。

现在的工作代码为:<?= $this->navigation()->menu()->setUlClass('navigation-submenu')->renderMenu(null, array('minDepth' => 2, 'maxDepth' => 2)); ?>

所以你的答案是正确的! 在我的XML文件中,我需要额外的子子页面。非常感谢您的解决方法!

我把你的文章标记为答案。

+0

your're wellcome;) – 2011-03-04 11:09:42