【问题标题】:Drupal - how to add add same page to two menus?Drupal - 如何将同一页面添加到两个菜单?
【发布时间】:2010-04-14 16:27:31
【问题描述】:

如何将相同的回调添加到 2 个不同的菜单?

function my_callback_menu(){
  $items = array();
  $items['my_callback'] = array(
    'title'            => t('My title'),    
    'menu_name'        => 'menu-my-menu',   
        'page callback'    => 'my_callback',         
        'access arguments' => array('access content'),            
  );
  return $items;
}

【问题讨论】:

    标签: drupal menu hook


    【解决方案1】:

    您可以根据需要使用hook_menu 创建任意数量的菜单项。如果您将page callback 值设为相同的名称,则它们都可以分配给相同的回调函数。

    【讨论】:

    • 您可能想找到一种方法从搜索索引中清除冗余页面。您可以检查 search_config 模块。
    • @Grayside 我并不是说你应该这样做,或者甚至说这是一个好主意,只是它是可能的。如果你使用参数,同样的回调函数可以提供不同的输出,所以它甚至可能不是问题。
    【解决方案2】:

    现在有几个解决方案:

    模块multiple_node_menu 无需钩子即可回答问题。在一个节点上,您可以将菜单项放在两个位置并设置主要父节点(路由器)。

    还有Node Symlinks,它的工作方式不同,允许在网站的两个不同位置显示相同的内容,而不会受到 SEO 处罚。 (不是我要找的)

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-15
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多