我知道如何将一个参数传递给菜单回调
$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(
正在寻找我如何做的代码示例。
谢谢!
答案 0 :(得分: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是第二个,等等。