2012-07-24 59 views
2

我希望你能幫助我,因爲我不知道如何在Drupal 7的hook_menu中調用一個節點。如何在鉤子菜單中調用節點?

這可能嗎?

$items['basketfacile/planning'] = array(
     'type' => MENU_LOCAL_TASK, 
     'title' => 'Test', 
     'description' => "description", 
     'page callback' => 'drupal_get_form', 
     'page arguments' => array('basketfacile_plannings_form'), 
     'access arguments' => array('access content') 
    ); 

這是誰調用一個形式我的項目菜單,但我想叫這在我的Drupal安裝媒體鏈接存在的節點形式。我們可以拿文章舉例。

你有什麼想法嗎?

+0

我可以問你爲什麼你需要做到這一點? 您可以將現有的$ items [node/add /%]數組複製到您的自定義菜單鉤子,或者使用basketfacile/planning更容易地將節點/ add/X路徑別名複製。這樣,你有實際的許可使用,而不是訪問內容的權限.. 如果你想改變形式,使用form_alters。 – 2012-07-24 17:16:02

+0

可能是一個愚蠢的http://stackoverflow.com/questions/5344754/drupal-7-how-to-display-node-add-sometype-form-on-another-page – 2012-07-24 17:18:53

+0

感謝您的幫助,但我發現如何做我想做的事。看到我的回答 – 2012-07-24 17:31:59

回答

3

事實上,它很容易嵌入一個節點在其他頁面,你可以這樣做:

$items['menu/submenu'] = array(
     'type' => MENU_LOCAL_TASK, 
     'title' => 'YOUR_TITLE', 
     'description' => "YOUR_DESCRIPTION", 
     'page callback' => 'node_add', 
     'page arguments' => array('YOUR_NODE_TYPE_NAME_MACHINE'), 
     'access callback' => 'node_access', 
     'access arguments' => array('create', 'YOUR_NODE_TYPE_NAME_MACHINE'), 
     'file' => 'node.pages.inc', 
     'file path' => drupal_get_path('module', 'node') 
);