2011-03-17 111 views

回答

2

的功能做一個重定向是drupal_goto()

例如,您可以通過在自定義模塊中實現hook_init()來做到這一點,檢查路徑是否爲node/something,加載節點,如果是X類型,則重定向。

5

使用hook_menu_alter(),將頁面回調更改爲node/%node。在您的頁面回調中,檢查節點的類型以在節點上調用node_page_view或重定向到參考節點。

MODULE_menu_alter(&$items) { 
    $items['node/%node']['page callback'] = 'MODULE_node_page_view'; 
} 

MODULE_node_page_view($node) { 
    if ($node->type == MODULE_NODE_TYPE) { 
    $referenced_node = MODULE_get_related_node($node); 
    drupal_goto('node/'. $referenced_node->nid); 
    } 
    else { 
    return node_page_view($node); 
    } 
} 
-1

這也可能通過把<?php drupal_goto($related_url); ?>在一個節點yourcontenttype.tpl.php在你的主題文件夾來完成。

+0

這只是主題,沒有重定向。 – Haza 2011-03-18 02:16:56

+0

糟糕,我的代碼丟失了。現在修復。 – Thomas4019 2011-03-18 02:28:21

+1

模板文件在這裏可以處理...模板。他們不應該有任何處理網站「生活」的代碼。重定向不是顯示某些數據的一種方式。 – Haza 2011-03-18 02:32:06