【问题标题】:Drupal adding external links to custom menusDrupal 将外部链接添加到自定义菜单
【发布时间】:2011-09-15 00:14:08
【问题描述】:

我正在尝试向 Drupal 7 添加自定义菜单,但似乎我无法处理 hook_menu 中的外部链接,因为它们没有插入数据库。当我将实现更改为使用 menu_link_save 时,内部菜单项不会保存在菜单路由表中,因此它们不会显示。有没有办法实现一个自定义菜单,该菜单将显示在包含正常菜单项和外部网站链接的页脚中?

【问题讨论】:

    标签: php drupal drupal-7


    【解决方案1】:

    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/')
    );
    

    希望有帮助

    【讨论】:

    • 我很抱歉在 2011 年没有给你正确的答案奖。这个解决方案当时运行良好,现在继续这样做,即使当时 Drupal 发生了重大变化。
    • @MatthewPurdon 无需道歉 :) Drupal 7 就目前而言,Drupal 8 来了,我认为这种方法行不通
    【解决方案2】:

    这不是真的,至少现在不是。

    你可以像这样添加外部项目

    $items['http://facebook.com/'] = array(
      'title' => t('Facebook'),
      'type' => MENU_NORMAL_ITEM,
      'access arguments' => array('access content'),
      'menu_name' => 'menu-footer'
    );
    

    【讨论】:

    • 这不是真的吗?请更具体。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    相关资源
    最近更新 更多