ZF2导航。如何在面包屑中显示页面,但在菜单中隐藏此页面?

时间:2014-08-03 14:50:18

标签: php zend-framework2

我有产品编辑页面(产品/编辑/ [:id])。我想在面包屑中显示此页面,但我不希望它显示在导航菜单中。

以下是我的代码:

echo $this->navigation('admin_navigation')->breadcrumbs(); // for breadcrumbs 
echo $this->navigation('admin_navigation')->menu(); // for menu

2 个答案:

答案 0 :(得分:3)

这个解决方案可能并不完全符合您的要求,但它确实有效。

如果您使用某些部分模板文件作为菜单或面包屑,那么您可以执行以下操作 -

module.config.php中配置导航时,添加自定义属性。 例如:show_in_menu

array(
    'label' => 'Product List',
    'route' => 'product',
    'action' => 'edit',
    'show_in_menu' => false,
),

然后在部分文件中检查 -

foreach ($this->container as $page) {
    if($page->get('show_in_menu') !== false) {
        //display the menu
    }
}

这样,只会显示所需的菜单。

我希望它有所帮助。

答案 1 :(得分:0)

设置"可见"你的"导航"配置:

[
    'label'      => 'Edit',
    'controller' => Controller\IndexController::class,
    'action'     => 'edit',
    'visible'    => false, // Hidden from menu but will be shown in breadcrumb
],

更改

echo this->navigation('admin_navigation')->breadcrumbs()

为:

echo $his->navigation('admin_navigation')->breadcrumbs()->setRenderInvisible(true)