Как скрыть некоторые пункты меню - Zend Navigation - PullRequest
0 голосов
/ 17 февраля 2012

Я использую Zend Navigation на моем сайте, и у меня есть следующий файл 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 ]

3 голосов
/ 17 февраля 2012

Вы можете скрыть пункты меню с видимым флагом, которые вы добавляете к записи, которую хотите скрыть, в вашем случае <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>

Используйте только 0 или 1 в пределахXML-файл, потому что false или true не распознаются.Все возможные варианты вы найдете в Zend Framework: Документация: Страницы - Руководство по Zend Framework .

Если вы хотите, чтобы невидимая запись в меню «хлебные крошки» временно отключила видимый флаг, добавив setRenderInvisible( true )

<?= $this->navigation()->breadcrumbs()->setRenderInvisible( true ); ?>

Все варианты этого помощника вы найдете здесь .

0 голосов
/ 17 февраля 2012

Попробуйте использовать это:

<visible>0</visible>
...