我知道如何将一个参数传递给菜单回调

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

谢谢!

有帮助吗?

解决方案

使用阵列 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是第一个参数,第二个是第二个参数,等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top