2012-10-04 44 views
0

默认情况下,论坛在我的网站上启用;我希望他们转移到分享/论坛。我可以采取哪些不同的方法,哪一种最好?如何显示自定义路径上的论坛?

我试着用Pathauto模块做这件事,但当我期望它显示“首页>>分享”论坛时,面包屑正显示“首页>>论坛”。

回答

0

的方法有很多, 1)要么你可以使用pathauto(其中U使用,但它使用的默认NID跟踪东西,所以这就是为什么在面包屑它显示像) 2)使用子域模块和换档UR论坛(如果你的主机支持的话) 3)使用一个像phpbb这样的独立论坛模块,并把它放到你想要的路径并使用重定向。

哪个适合ü..

+0

对不起,我建议的方式都没有。 我必须使用drupal的默认inbuilt-forum并将它放在./share/forum上 – prady00

0

如果你想只显示在共享/论坛,论坛的页面,你可以自定义模块中使用下面的代码。

function mymodule_menu_alter(&$items) { 
    if (isset($items['forum'])) { 
    $items['share/forum'] = $items['forum']; 
    unset($items['forum']); 
    } 
    if (isset($items['forum/%forum_forum'])) { 
    $items['share/forum/%forum_forum'] = $items['forum/%forum_forum']; 
    unset($items['forum/%forum_forum']); 
    } 
} 

如果您希望论坛在旧路径和新路径中均可见,则可以使用以下代码。

function mymodule_menu() { 
    $items['share/forum'] = array(
    'title' => 'Forums', 
    'page callback' => 'forum_page', 
    'access arguments' => array('access content'), 
    'file' => 'forum.pages.inc', 
); 

    $items['share/forum/%forum_forum'] = array(
    'title' => 'Forums', 
    'page callback' => 'forum_page', 
    'page arguments' => array(1), 
    'access arguments' => array('access content'), 
    'file' => 'forum.pages.inc', 
); 

    return $items; 
} 

至于面包屑,你需要实现hook_menu_breadcrumb_alter(),考虑到文档页面什么报道。

实现应该考虑到,menu_get_active_breadcrumb(帐户),然后执行以下调整工作路径后,这个钩子被调用:

  • 在$ active_trail最后一个环节被删除,如果其'href'与$ item的'href'相同。发生这种情况是因为面包屑通常不包含到当前页面的链接。
  • 如果当前的$ item是一个MENU_DEFAULT_LOCAL_TASK,$ active_trail中的(第二个)最后一个链接被删除。发生这种情况时,为了在默认本地任务的路径上不显示指向当前页面的链接;例如当处于路径节点/%/ view上时,面包屑不应包含指向节点/%的链接。
相关问题