Zend framework2 Zend\Navigation面包屑不';找不到活性元素
我已经运行了导航,所有链接都正常工作。使用Zend framework2 Zend\Navigation面包屑不';找不到活性元素,zend-framework2,zend-navigation,Zend Framework2,Zend Navigation,我已经运行了导航,所有链接都正常工作。使用$this->Navigation($nav)->menu()呈现导航将显示无序列表,并且所有链接都正常工作 此外,那里的活动链接也在工作。活动元素具有class=“active”属性 只将相同的导航呈现为BradCramp$this->navigation($nav)->breadcrumbs()不会呈现任何内容。这可能是因为目前我的导航深度只有一层,但在我看来,第一层仍然应该渲染 通过使用超现代的die()-调试,我发现没有呈现任何内容,因为view
$this->Navigation($nav)->menu()
呈现导航将显示无序列表,并且所有链接都正常工作
此外,那里的活动链接也在工作。活动元素具有class=“active”
属性
只将相同的导航呈现为BradCramp$this->navigation($nav)->breadcrumbs()
不会呈现任何内容。这可能是因为目前我的导航深度只有一层,但在我看来,第一层仍然应该渲染
通过使用超现代的die()
-调试,我发现没有呈现任何内容,因为viewHelper的findActive()
找不到活动元素,因此返回空字符串
关于我的错误可能在哪里有什么想法吗?如有任何见解,将不胜感激。以下是我目前的代码:
'navigation' => array(
'default' => array(
'biete' => array(
'label' => 'Biete',
'route' => 'biete',
),
'suche' => array(
'label' => 'Suche',
'route' => 'suche',
),
'administration' => array(
'label' => 'Administration',
'route' => 'admin'
),
'dashboard' => array(
'label' => 'Meine Artikel',
'route' => 'dashboard'
),
'login' => array(
'label' => 'Anmelden',
'route' => 'duituser/login'
),
'logout' => array(
'label' => 'Abmelden',
'route' => 'duituser/logout'
)
),
),
'service_manager' => array(
'factories' => array(
'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
以及位于mylayout.phtml
<?php echo $this->navigation('navigation')->menu(); ?>
<?php echo $this->navigation('navigation')->breadcrumbs(); ?>
再次提前感谢。我玩了导航类/助手-当“游乐场”路线匹配时,面包屑似乎被渲染(在下面的示例中)。但是,通过将
'active'=>true
添加到我的默认路由,意味着它将始终由面包屑助手呈现
'navigation' => array(
'default' => array(
'test' => array(
'label' => 'Home',
'route' => 'test',
'active' => true,
'pages' => array(
'playground' => array(
'label' => 'Playground',
'route' => 'playground',
),
),
),
),
),
除了Beza博士的答案,以下是帮助我的原因。问题是,面包屑导航只有在我们到达第二层时才被渲染。但是您可以通过调用以下命令来更改该设置:
$this->navigation('navigation')->breadcrumbs()->setMinDepth(0);
对我来说,这就是所需要的一切。然而,正如贝扎博士指出的那样,在某些情况下,这可能还不够 在我的例子中,只有这一点有帮助:
$this->navigation('navigation')->breadcrumbs()->render('navigation');
奇怪的是,只有在之前调用$this->navigation('navigation')->menu()时才需要它,因为面包屑不会呈现 谢谢贝萨,你真的为我指明了正确的方向。问题是单级导航。因此,我必须
setMinDepth(0)
-如果你想,你可以编辑你的答案到那个方向,否则我明天会自己发布答案;)我确实调查了setMinDepth(0),但它没有效果。刚才在主路线上使用'active'=>true进行尝试,似乎可以达到预期效果。我根本不需要将active设置为true。活动部件与routest匹配,没有任何问题。对我来说,这只是min depthI编辑了我的答案,但我会让你简单地调用$this->navigation('navigation')->breadcrumbs()->setMinDepth(0);不适合我。