Varios argumentos sobre devolución de llamada del menú
-
28-09-2019 - |
Pregunta
Yo sé cómo pasar un argumento a un menú de devolución de llamada
$items['someaddress/%'] = array(
'title' => 'title',
'page callback' => 'some_function',
'page arguments' => 1,
'type' => MENU_CALLBACK
);
No entiendo por qué el argumento que se pasa es $_POST['nid']
pero esto funciona. Corresponde a la página 1 argumento.
function some_function (){
$node = isset($_POST['nid']) ? node_load($_POST['nid']) : FALSE;
}
Ahora estoy tratando de pasar múltiples argumentos. $items['someaddress/%/%/%'] = array(
y está buscando a un ejemplo de código de cómo lo hago.
Gracias!
Solución
Usar una matriz para 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
}
Se recomienda mantener siempre argumentos pasados ??a devoluciones de llamada de menú como una matriz , de todos modos .
Para su información: el comportamiento que está viendo es cómo el sistema de menú de Drupal está diseñado. El número corresponde a cada argumento que se pasa al menú. 1 es el primer argumento, 2 es el segundo, etc.