我正在尝试向Drupal 7添加一个自定义菜单,但似乎我无法处理hook_menu中的外部链接,因为它们没有插入到数据库中。当我将实现更改为使用menu_link_save时,内部菜单项不会保存在菜单路由表中,因此它们不会显示。有没有办法实现一个自定义菜单,该菜单将显示在包含普通菜单项和外部网站链接的页脚中?
答案 0 :(得分:6)
hook_menu()
实际上仅适用于设计内部路径,因此外部路径不属于menu_router
表。您可以使用drupal_goto()作为页面回调,将您定义的内部路径立即重定向到外部网站,这是一个小技巧:
$items['my_internal_path'] = array(
'title' => 'Title',
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('access content'),
'page callback' => 'drupal_goto',
'page arguments' => array('http://external-site.com/')
);
希望有所帮助
答案 1 :(得分:1)
这不是真的,至少现在不是。
您可以添加此类外部条件
$items['http://facebook.com/'] = array(
'title' => t('Facebook'),
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('access content'),
'menu_name' => 'menu-footer'
);