hook_menu_alter或hook_menu_link_alter?

时间:2013-08-26 11:05:44

标签: drupal menu hook

如何更改hook_menu_link_alter中的自定义菜单?
我使用下一个代码:

function MY_MODULE_menu_link_alter(&$item) {
    // here some code
}

此功能不适用于在管理面板中创建的菜单(/ admin / structure / menu / add) 但是正常工作到模块admin_menu(/ admin / structure / menu / manage / management)创建的菜单 哪里有问题?

2 个答案:

答案 0 :(得分:5)

hook_menu_alter() - >在调用hook_menu之后,将保存的数据更改为{menu_router}表。所以通过使用这个钩子你可以像 -

一样改变

access_callback,    access_arguments,    page_callback,    page_arguments,    delivery_callback,    标题,    title_callback,    title_arguments,    theme_callback等等。

hook_menu_link_alter() - >将保存的数据更改为{menu_links}表。所以通过使用这个钩子你可以像 -

一样改变

link_path,    router_path,    隐,    link_title等。

答案 1 :(得分:1)

使用hook_menu_alter()。在调用hook_menu后,此挂钩会将保存的数据更改为menu_router表。