如何创建一个函数来扫描Drupal 7系统中的所有菜单项,如果有嵌套的ul,则将下拉CSS类添加到嵌套的ul并将自定义属性添加到父li容器中?我使用UIKIT会自动创建下拉列表。
这是我当前的菜单HTML输出:
<ul class="menu">
<li class="first last expanded">
<a title="" href="/node/add">Add content</a>
<ul class="menu">
<li class="first leaf">
<a title="article" href="/node/add/article">Article</a></li>
<li class="leaf">
<a title="page" href="/node/add/page">Basic page</a></li>
<li class="last leaf"><a title="blog" href="/node/add/blog">Blog entry</a></li>
</ul>
</li>
</ul>
这就是我需要的:
<ul class="menu">
<li class="first last expanded" data-uk-dropdown>
<a title="" href="/node/add">Add content</a>
<ul class="menu uk-dropdown">
<li class="first leaf">
<a title="article" href="/node/add/article">Article</a></li>
<li class="leaf">
<a title="page" href="/node/add/page">Basic page</a></li>
<li class="last leaf"><a title="blog" href="/node/add/blog">Blog entry</a></li>
</ul>
</li>
</ul>
我正在寻找最简单的方法。
答案 0 :(得分:0)
您可以抓取自己的菜单树并根据需要写出菜单HTML。使用它,应该是这样的:
$tree = menu_tree_all_data('menu_machine_name');
另外,如果我记得很清楚,如果只做你的活动(当前)菜单项不会被标记,并且为了标记它你还必须打电话(在获得$tree
变量后):
menu_tree_add_active_path($tree);
但是,如果我记得很清楚,只有安装“菜单块”模块...
才能使用该功能在此之后打印$tree
变量并组织您的代码以抓取您收集的递归菜单树。