您可以通过局部视图实现此目的.
在你的配置文件,例如config / autoload / global.php:
return array(
// Your others config arrays
'navigation' => array(
'default' => array(
array(
'label' => 'Home',
'route' => 'home',
),
array(
'label' => 'User',
'route' => 'user',
'pages' => array(
array(
'label' => 'List',
'route' => 'list',
),
array(
'label' => 'Add',
'route' => 'add',
),
array(
'label' => 'Edit',
'route' => 'edit',
),
),
),
array(
'label' => 'Options',
'route' => 'options',
),
)
)
);
在您的布局文件中,例如view / layout / layout.phtml:
echo $this->navigation('navigation')
->menu()
->setPartial('partial/menu')
->render();
?>
部分视图,这里是view / partial / menu.phtml:
foreach ($this->container as $page)
{
$hasChildren = $page->hasPages();
if( ! $hasChildren)
{
?>
<?php echo $page->getLabel(); ?>}
else
{
?>
<?php echo $page->getLabel(); ?>
foreach($page->getPages() as $child)
{
?>
<?php echo $child->getLabel(); ?>}
?>
}
}
?>
如果你需要CSS样本,你可以在这个答案中找到一些: