4
我使用ZF2和引導建立一個菜單,我已經有這樣的菜單:Zend框架2導航子菜單(頂層菜單)
Home | Users | Options
但現在我需要的子菜單,但我找不到一種方式來做到這一點。我需要像懸停菜單項(例如:用戶),然後顯示'列表','添加','編輯'
我真的很感激任何幫助。
謝謝
我使用ZF2和引導建立一個菜單,我已經有這樣的菜單:Zend框架2導航子菜單(頂層菜單)
Home | Users | Options
但現在我需要的子菜單,但我找不到一種方式來做到這一點。我需要像懸停菜單項(例如:用戶),然後顯示'列表','添加','編輯'
我真的很感激任何幫助。
謝謝
您可以通過局部視圖實現此目的。
在您的配置文件例如配置/自動加載/ 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',
),
)
)
);
在你的佈局文件,例如視圖/佈局/ layout.phtml:
<nav>
<?php
echo $this->navigation('navigation')
->menu()
->setPartial('partial/menu')
->render();
?>
</nav>
局部視圖,這裏視圖/分/ menu.phtml:
<ul>
<?php
foreach ($this->container as $page)
{
$hasChildren = $page->hasPages();
if(! $hasChildren)
{
?>
<li><a href="<?php echo $page->getHref(); ?>"><?php echo $page->getLabel(); ?></a></li>
<?php
}
else
{
?>
<li>
<a href="<?php echo $page->getHref(); ?>"><?php echo $page->getLabel(); ?></a>
<ul>
<?php
foreach($page->getPages() as $child)
{
?>
<li><a href="<?php echo $child->getHref(); ?>"><?php echo $child->getLabel(); ?></a></li>
<?php
}
?>
</ul>
</li>
<?php
}
}
?>
</ul>
如果您需要CSS的樣品,你可以找到一些在這個回答: