【发布时间】:2012-10-28 12:40:21
【问题描述】:
我目前正在开发一个模块,该模块通过 url 路径查找父菜单项,然后通过查找顶部父项来显示该相关菜单的当前树结构,最重要的是仅在该菜单中显示该菜单项和子菜单。
一个简单的解决方案是让 foreach 循环遍历所有项目或以所有项目作为键的数组。
path = '/system/menu/submenu';
parent = 'system';
output = parent + parent submenus.
“自定义菜单”中的所有菜单项:
- System
- Menu wrapper
- SubMenu 1A
- SubMenu 2A
- SubMenu 3A
- Main
- SubMenu 1B
- SubMenu 2B
- SubChildMenu 3B
PHP 代码应该返回这个:
- System
- Menu wrapper
- SubMenu 1A
- SubMenu 2A
- SubMenu 3A
我的代码(目前不工作):
$menu = menu_tree('my-custom-menu');
return = theme('my_custom_menu', array('system' => $menu_tree));
注意:这里只需要php代码和php代码,其他模块不支持,只能手动选择。内容通过块显示。
"对于导航,Drupal 将调用 menu_tree_page_data 通过 menu_navigation_links 只会返回单级链接。 您可以按照此功能一直到 menu_main_menu,然后 template_preprocess_page 在它之前(这就是它最终成为 page.tpl.php 中的变量)
但是,如果您将菜单作为 block menu_tree_page_data 插入 由 menu_tree 调用(在之后立即调用 menu_tree_output 它为最终标记的数组做了一些额外的工作。) 两者都运行后,您可以将整个菜单树用作 然后我运行了一些自定义 PHP 代码来循环遍历的数组 数组并将其呈现为 HTML 列表。”
人们以前曾问过这个问题,但我已经尝试过他们的解决方案,但没有成功的可能原因是这些问题是针对 drupal 6 的。我目前正在使用 drupal 7。
非常感谢您的帮助,谢谢...
相关问题:
Restrict menu tree to first level
how to get all the menu items below a certain parent in drupal?
https://drupal.stackexchange.com/questions/30112/displaying-a-menus-child-links
【问题讨论】:
标签: php drupal module drupal-7 drupal-modules