我试图找出跟踪我正在进行的网站导航的最佳方式。
我已经使用Zend Navigation渲染带有下拉子菜单的顶级菜单。这很好用。但是我还想跟踪我的菜单项,这些菜单项直接应用于上面菜单显示的单个项目/模型。比如我的菜单。
<nav>
<job>
<label>Jobs</label>
<resource>job</resource>
<controller>job</controller>
<action>list</action>
<pages>
.....
</pages>
<job>
</nav>
这适用于处理不与数据库中特定记录相关的“菜单”。可以跟踪对各个记录执行的“操作”。这些额外的项目不应该在主导航内呈现,因为它们只有具有特定ID的上下文,但在查看记录时可以呈现为菜单。
所以也许喜欢:
<nav>
<resource>
<menu items to be rendered without specific context>
<possible submenu items>
</possible submenu items>
</menu items to be rendered without specific context>
<menu items to be rendered inside a specific context(like viewings a record)>
<view></view>
<edit></edit>
<invoice></invoice>
</menu items to be rendered inside a specific context(like viewings a record)>
</resource>
</nav>
我以为我可以为我的特定于上下文的菜单项设置一个单独的.xml,但我希望将这些资源组合在一起。
答案 0 :(得分:0)
所以你想要一个下钻菜单?你可以用CSS轻松完成。示例:(我更喜欢数组,但您可以调整)。
像往常一样创建导航,但要确保为每个操作设置子项:
$menu = array(
array(
'label' => 'Add Booking',
'module' => 'booking',
'controller' => 'admin',
'action' => 'addBooking',
'route' => 'default',
'pages'=>array(
array(
'label'=>'test',
'module' => 'booking',
'controller' => 'admin',
'action' => 'anotheraction',
)
)
)
);
CSS:
ul.navigation li ul li {
display:none;
}
ul.navigation li.active ul li {
display: block;
}
只要正确设置父页面的参数,它就可以正常工作。