0

メニューコールバックに1つの引数を渡す方法を知っています

  $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は2番目の引数などです。

于 2010-08-16T04:08:44.500 に答える