【问题标题】:How to hide some menu items - Zend Navigation如何隐藏一些菜单项 - Zend Navigation
【发布时间】:2012-02-16 21:24:30
【问题描述】:

我在我的网站中使用 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   

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

【问题讨论】:

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


    【解决方案1】:

    您可以隐藏带有可见标志的菜单条目,您可以将其添加到要隐藏的条目中,在您的情况下为&lt;page1_2&gt;...&lt;/page1_2&gt;

    <?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

    【讨论】:

    • 我不想在所有菜单中隐藏它。设置可见适用于所有菜单
    【解决方案2】:

    试试这个:

    <visible>0</visible>
    

    【讨论】:

    • 我不想在所有菜单中隐藏它。设置可见适用于所有菜单
    猜你喜欢
    • 2012-09-13
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多