2010-08-16 41 views
0

多個參數我知道如何一個參數傳遞給菜單回調上的菜單回調

$items['someaddress/%'] = array(
    'title' => 'title', 
    'page callback' => 'some_function', 
    'page arguments' => 1, 
    'type' => MENU_CALLBACK 
); 

我不明白爲什麼被傳遞的參數爲$_POST['nid'],但這個工程。它對應於頁面參數1.

function some_function(){ 

    $node = isset($_POST['nid']) ? node_load($_POST['nid']) : FALSE; 

} 

我正在嘗試傳遞多個參數。 $items['someaddress/%/%/%'] = array(,並正在尋找我如何做到這一點的代碼示例。

謝謝!

回答

12

使用數組爲page arguments

$items['someaddress/%/%/%'] = array(
    'title' => 'title', 
    'page callback' => 'some_function', 
    'page arguments' => array(1, 2, 3), 
    'type' => MENU_CALLBACK, 
); 

function some_function($arg1, $arg2, $arg3) { 
    // Insert code here 
} 

你應該始終保持arguments passed to menu callbacks as an array,反正。

僅供參考:您所看到的行爲是Drupal菜單系統的設計方式。該數字對應於傳遞給菜單的每個參數。 1是第一個參數,2是第二個,等等。