我在 zend2 中创建了一个菜单,它到目前为止有效。完美。
- Parent 1
-- Child Page 1
-- Child Page 2
-- Child Page 3
- Parent 2
-- Child Page 1
-- Child Page 2
-- Child Page 3
- Parent 3
-- Child Page 1
-- Child Page 2
-- Child Page 3
现在我只想在父页面处于活动状态时渲染子页面。假设 Parent 2 将处于活动状态,呈现的菜单将如下所示:
- Parent 1
- Parent 2
-- Child Page 1
-- Child Page 2
-- Child Page 3
- Parent 3
那是我的 global.php 配置文件
return array(
'navigation' => array(
'default' => array(
array(
'label' => 'Parent 1',
'controller' => 'controllerone',
'pages' => array(
array(
'label' => 'Page1',
'controller' => 'controllerone',
'action' => 'page-one',
),
array(
'label' => 'Page2',
'controller' => 'controllerone',
'action' => 'page-two',
),
array(
'label' => 'Page3',
'controller' => 'controllerone',
'action' => 'page-one',
)
),
),
array(
'label' => 'Parent 2',
'controller' => 'controllertwo',
'pages' => array(
array(
'label' => 'Page1',
'controller' => 'controllertwo',
'action' => 'page-one',
),
array(
'label' => 'Page2',
'controller' => 'controllertwo',
'action' => 'page-two',
),
array(
'label' => 'Page3',
'controller' => 'controllertwo',
'action' => 'page-one',
)
),
),
array(
'label' => 'Parent 3',
'controller' => 'controllerthree',
'pages' => array(
array(
'label' => 'Page1',
'controller' => 'controllerthree',
'action' => 'page-one',
),
array(
'label' => 'Page2',
'controller' => 'controllerthree',
'action' => 'page-two',
),
array(
'label' => 'Page3',
'controller' => 'controllerthree',
'action' => 'page-one',
)
),
),
)
),
'service_manager' => array(
'factories' => array(
'navigation' => 'Zend\Navigation\Service\DefaultNavigationFactory',
),
),
);
这就是我在布局中呈现导航的方式
<?php
echo $this
->navigation('navigation')
->menu();
?>
任何帮助将非常感激!