如何隐藏一些菜单项 - Zend Navigation

时间:2012-02-16 21:24:30

标签: zend-framework zend-view zend-navigation

我在我的网站中使用zend导航,我有以下navigation.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
<nav>
  <page1>
    <label>Site</label>
    <uri>/</uri>
    <pages>
        <page1_1>
            <label>Home</label>
            <uri>/</uri>
        </page1_1>
        <page1_2>
            <label>News</label>
            <uri>/news</uri>
        </page1_2>
        <page1_3>
            <label>Contact</label>
            <uri>/contact</uri>
        </page1_3>
    </pages>
  </page1>
 </nav>
</config>

然后我渲染如下的菜单

<?=$this->navigation()->menu();?>

输出

- Site  
 - Home   
 - News  
 - Contact   

通缉输出

- Site  
 - Home    
 - Contact   

如何在不影响其他菜单渲染的情况下从菜单中删除新闻项目?

2 个答案:

答案 0 :(得分:3)

您可以隐藏带有可见标记的菜单条目,您可以添加到要隐藏的条目中<page1_2>...</page1_2>

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <nav>
    <page1>
      <label>Site</label>
      <uri>/</uri>
      <pages>
        ...
        <page1_2>
          <label>News</label>
          <uri>/news</uri>
          <visible>0</visible>
        </page1_2>
        ... 
      </pages>
    </page1>
  </nav>
</config>

仅在xml文件中使用01,因为无法识别falsetrue。您可以在Zend Framework: Documentation: Pages - Zend Framework Manual找到所有可能的选项。

如果您想要在痕迹导航栏菜单中输入隐藏条目,可以通过添加setRenderInvisible( true )

暂时禁用可见标记
<?= $this->navigation()->breadcrumbs()->setRenderInvisible( true ); ?>

您找到此助手的所有选项here

答案 1 :(得分:0)

尝试使用:

<visible>0</visible>