我很难让RecrusiveIteratorIterator和相关人员遍历一个多维数组的页面来构建一个多层菜单。
通常,我只是创建一个在某个级别上循环的函数,并调用它自己来循环任何子级。但是我想利用PHP中的迭代器接口来使我的代码更好。
我的数组看起来像这样:
$pages = array(
new Page(1, 'Home'),
new Page(2, 'Pages', array(
new Page(3, 'About'),
new Page(4, 'Contact')
我一直在尝试在Bolt中实现一个三层子菜单。我希望菜单只显示顶层,除非在菜单中选择了这一点,在这一点上,我只想显示第二层。如果选择了第二层的菜单选项,我只希望显示该选择的子菜单。到目前为止,我已经尝试过:
{% for item in menu %}
<li class="{% if item|current %}active{% endif %}">
<a href=" {{ item.link }}" {% if item.title is defined %}title='{{ item.title|escape }}&
我想要建立一个数据库驱动的多级菜单,我从得到它,但这里的问题是,我不能只把class = "dropdown"放在顶部菜单<ul>,它也适用于子菜单。我只是稍微修改了一下,但我不知道如何使用递归函数。下面是代码,请看能不能帮上忙
<?php /** Function to display Catelogue Menu */
//select all rows from the main_menu table
$q ="SELECT * FROM catelogue WHERE cat_visibility = '1'"
我使用简单的导航构建了导航菜单,并构建了嵌套的类别,我将在此菜单中显示这些类别。
navigation.rb代码:
navigation.items do |primary|
Category.roots.map do |root|
primary.item ":root_#{root.id}", root.title, category_path(root) do |secondary|
root.descendants.map do |desc|
secondary.item ":desc_#{desc.i
我正在尝试创建一个动态下拉菜单类,其中包含
A类
菜单
还有MenuItem课程。
menu类在菜单项上迭代。使用方法
function load
function hasNext
function next
function current
menutItem类包含关于类似于URL, LinkText, IsActive的信息。
但我的问题是,menuitem可能反过来也有孩子。而且我无法解决这个问题,我应该如何存储和显示一个MenuItem的孩子