Domanda

So come passare un argomento a un menu di callback

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

Non capisco il motivo per cui l'argomento viene passato è $_POST['nid'] ma funziona. Corrisponde alla pagina argomento 1.

function some_function (){

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

}

ora sto cercando di passare più argomenti. $items['someaddress/%/%/%'] = array( ed è alla ricerca di un esempio di codice di come lo faccio.

Grazie!

È stato utile?

Soluzione

Usa un array per 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
}

Si dovrebbe sempre tenere argomenti passati al callback di menu come una matrice , in ogni caso .

A proposito: il comportamento che state vedendo è come sistema di menu di Drupal è stato progettato. I corrisponde numerici per ciascun argomento vengono passati al menu. 1 è il primo argomento, 2 è il secondo, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top