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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top