模块通过实现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()中对菜单项所做的修改,是无法在用户界面“管理➤站点构建 ➤菜单”中再进行覆写的。