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(并正在寻找我如何做到这一点的代码示例。

谢谢!

4

1 回答 1

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
}

无论如何,您应该始终将传递给菜单回调的参数保留为数组。

仅供参考:您所看到的行为是 Drupal 的菜单系统是如何设计的。该数字对应于传递给菜单的每个参数。1 是第一个参数,2 是第二个参数,依此类推。

于 2010-08-16T04:08:44.500 回答