Plusieurs arguments sur le rappel de menu
-
28-09-2019 - |
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!
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