You are here

改变其它模块的菜单链接

模块通过实现hook_menu_link_alter(),就可以在Drupal将一个菜单项保存到menu_link表时,来修改该链接了。下面是如何将“登出”菜单项的标题改为“Sign off”(“结束”)的。

 
/**
* Implementation of hook_link_alter().
*
* @param $item
* Associative array defining a menu link as passed into menu_link_save().
* @param $menu
* Associative array containing the menu router returned from
* menu_router_build().
*/
function menufun_menu_link_alter(&$item, $menu) {
    if ($item['link_path'] == 'logout') {
        $item['link_title'] = 'Sign off';
    }
}
 
    这个钩子可以用来修改一个链接的标题和重量。如果你需要修改一个菜单项的其它属性的话,比如访问回调,那么需要使用hook_menu_alter()。
 
注意hook_menu_link_alter()中对菜单项所做的修改,是无法在用户界面“管理➤站点构建 ➤菜单”中再进行覆写的。
 老葛的Drupal培训班 Think in Drupal

Drupal版本: