2011-09-13 12 views
7

Ho questo hook di menu sotto il quale sto inviando due parametri alla funzione.Come ottenere più parametri inviati tramite drupal hook_menu

Ma nella funzione sto solo ricevendo il primo parametro.

Qualcuno sa come inviare e ottenere più parametri utilizzando il sistema di menu Drupal?

function drupal_menu(){ 
    $items = array(); 
    $items['drupal/%/%'] = array(
     'title' => t('Welcome to the Hello World Module'), 
     'page callback' => 'drupal_page', 
     'page arguments' => array(1,2), 
     'access arguments' => array('access content'), 
     'type' => MENU_CALLBACK, 
    ); 
    return $items; 
} 


function drupal_page($arg1, $arg2) {  
    return drupal_json(array('mess1'=>$arg1,'mess2'=>$arg2)); 
} 
+0

ho avuto stesso problema e dopo il lavaggio della cache, ha funzionato. – Parthi04

risposta

8

Lo stai già facendo nel modo giusto, se non funziona prova a svuotare le cache. È possibile che non siano stati cancellati da quando hai aggiunto il secondo argomento e Drupal memorizza nella cache gli elementi restituiti da hook_menu() in modo che non debba essere chiamato su ogni pagina.

+0

Grazie per il vostro consiglio. Ma cancellare le cache non mi ha aiutato. Che cosa interessante ho trovato che devi dire al sistema core di drupal che hai apportato delle modifiche in hook_menu, così drupal può tracciare il percorso. Quello che ho fatto prima ho disinstallato e reinstallato il modulo personalizzato (facendo ciò ora drupal so cosa sto facendo) e ha funzionato per me. –

1

Sei sulla strada giusta comunque ... Se non sta lavorando per voi, quindi provare il seguente

function drupal_page($arg1, $arg2) { 
    $arg1_new = arg(1) ; 
    $arg2_new = arg(2) ; 
    return drupal_json(array(
    'mess1'=>$arg1_new, 
    'mess2'=>$arg2_new 
    ) 
); 
} 
+0

Dopo aver disinstallato e reinstallato il modulo personalizzato, il mio codice ha iniziato a funzionare. Sto cercando di provare il tuo codice. Grazie per il vostro consiglio –

Problemi correlati