我在Drupal 7上遇到了一个问题。
我的主菜单包含多个链接。 使用模块menu_fields,我在菜单链接中添加了分类,我想根据所选的菜单链接更改此菜单显示。
问题是我不知道如何编写我的开发。
我在我的模块中测试了hook_menu(),hook_menu_alter(),hook_menu_alter_link(),但我写的dpm()从未出现过。
我希望是一个包含一个包含菜单项数组的param的钩子。
你有什么想法吗?
进度: 我设法用hook_menu_alter()显示一些内容 - 我必须清空缓存 - 但是我找不到$ items var中的主菜单。
答案 0 :(得分:1)
使用mymodule_translated_menu_link_alter(&$item, $map)
解决了问题。
您只需要执行if ($item['menu_name'] == 'main-menu') {}
语句并在其中添加代码。
答案 1 :(得分:0)
我能想到的最佳解决方案是使用menu_tree_all_data()
函数收集菜单树:
https://api.drupal.org/api/drupal/includes%21menu.inc/function/menu_tree_all_data/7.x
然后抓取树结构(recursevly)并手动生成菜单html。