我的导航正在运行,所有链接都正常运行。使用$this->navigation($nav)->menu()
渲染导航将显示无序列表,并且所有链接都在工作。
此外,活动链接也有效。活动元素具有class="active"
作为属性。
渲染相同的导航,仅作为bradcrumb $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',
),
),
视图部件位于我的layout.phtml
<?php echo $this->navigation('navigation')->menu(); ?>
<?php echo $this->navigation('navigation')->breadcrumbs(); ?>
提前再次感谢。
答案 0 :(得分:2)
我玩了导航类/助手 - 当'playground'路线匹配时,似乎渲染了面包屑(在下面的例子中)。但是,通过将'active' => true
添加到我的默认路由意味着它将始终由面包屑帮助器呈现。
'navigation' => array(
'default' => array(
'test' => array(
'label' => 'Home',
'route' => 'test',
'active' => true,
'pages' => array(
'playground' => array(
'label' => 'Playground',
'route' => 'playground',
),
),
),
),
),
答案 1 :(得分:1)
除了DrBeza的回答,这里有什么帮助我。问题是,只有在我们达到第二级时才会渲染Breadcrumb-Navigation。但是你可以通过调用以下内容来改变这个设置:
$this->navigation('navigation')->breadcrumbs()->setMinDepth(0);
对我来说,这就是所需要的。正如DrBeza指出的那样,在某些情况下,这可能还不够。
答案 2 :(得分:0)
在我的情况下只对此有所帮助:
$this->navigation('navigation')->breadcrumbs()->render('navigation');
奇怪的是,只有在之前调用$ this-&gt; navigation('navigation') - &gt; menu()时才需要它,因为不会渲染面包屑。