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',
    ),
),
以及位于my
layout.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);不适合我。