Question

Je sais comment passer un argument à un rappel menu

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

Je ne comprends pas pourquoi l'argument étant passé est $_POST['nid'] mais cela fonctionne. Il correspond à l'argument de la page 1.

function some_function (){

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

}

J'essaie maintenant de passer plusieurs arguments. $items['someaddress/%/%/%'] = array( et est à la recherche d'un exemple de code de la façon dont je le fais.

Merci!

Était-ce utile?

La solution

utiliser un tableau pour 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
}

Vous devez toujours garder passés à callbacks de menu comme tableau, de toute façon .

Pour votre information: le comportement que vous voyez comment le système de menus de Drupal est conçu. Les correspond numériques pour chaque argument étant transmis au menu. 1 est le premier argument, 2 est le second, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top