Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 钩住菜单以取消与条件的链接_Drupal_Menu_Drupal 7_Hook - Fatal编程技术网

Drupal 钩住菜单以取消与条件的链接

Drupal 钩住菜单以取消与条件的链接,drupal,menu,drupal-7,hook,Drupal,Menu,Drupal 7,Hook,我在Drupal 7上遇到了一个问题 我的主菜单包含多个链接。 对于模块菜单_字段,我向菜单链接添加了一个分类法,并希望根据所选的分类法更改此菜单显示 问题是我不知道如何写我的发展 我在模块中测试了hook\u menu()、hook\u menu\u alter()、hook\u menu\u alter\u link(),但我在其中编写的dpm()从未出现 我所希望的是一个带有包含菜单项数组的param的钩子 你有什么想法吗 进展: 我用hook\u menu\u alter()显示了一些东

我在Drupal 7上遇到了一个问题

我的主菜单包含多个链接。 对于模块菜单_字段,我向菜单链接添加了一个分类法,并希望根据所选的分类法更改此菜单显示

问题是我不知道如何写我的发展

我在模块中测试了hook\u menu()、hook\u menu\u alter()、hook\u menu\u alter\u link(),但我在其中编写的dpm()从未出现

我所希望的是一个带有包含菜单项数组的param的钩子

你有什么想法吗

进展: 我用hook\u menu\u alter()显示了一些东西-我必须清空缓存-但在$items变量中找不到主菜单


我能想到的最佳解决方案是使用
menu\u tree\u all\u data()
函数收集菜单树:


然后对树结构进行爬网(递归)并手动生成菜单html。

使用
mymodule\u translated\u menu\u link\u alter(&$item,$map)
解决了此问题


你只需要做一个
if($item['menu\u name']=='main menu'){}
语句,并在其中添加你的代码。

你在菜单或菜单项中添加了分类法?你想更改整个菜单还是单个菜单项?正如我在帖子中所说,我在菜单链接(项)中添加了这种分类法。我需要的是将所选的每个菜单项分类法与一个用户字段进行比较。是的,你这么说了,但你说你想更改“菜单”,而不是“菜单项”。