Domanda

Sto scrivendo un modulo Drupal 6 che invia un ID utente + una stringa generata in modo casuale a una funzione tramite l'URI. Sto usando il menu hook:

function invites_menu() {    
  // ...    
  $items['invites/auth'] = array(
    'title' => 'Are you human?',
    'page callback' => 'invites_pageAuth',
    'access arguments' => array('access invites content'),
    'page arguments' => array(2),
    'type' => MENU_CALLBACK
  );
  // ...
}

Sono nuovo in Drupal, ma a quanto ho capito (e potrei benissimo) questo dovrebbe passare due valori alla funzione di callback, che per scopi di test sembra attualmente questo:

function invites_pageAuth($auth = NULL, $uid = NULL) {
  drupal_set_message("uid: $uid <br /> $auth");
}

L'URL che uso è "inviti/autentica/casuale/userid". Questo sembra ottenere il primo valore due volte; Sia $ auth che $ uid contengono "casuale".

Mi manca qualcosa di veramente semplice?
Grazie.

È stato utile?

Soluzione

function invites_menu()
{    
...    
    $items['invites/auth/%/%'] = array(
            'title' => 'Are you human?',
            'page callback' => 'invites_pageAuth',
            'access arguments' => array('access invites content'),
            'page arguments' => array(2, 3),
            'type' => MENU_CALLBACK
          );
    ...
}

Inoltre puoi usare Arg (3) come oggetto utente -> Usa % utente invece % e otterrai l'oggetto utente nel callback

$items['invites/auth/%/%user']

Altri suggerimenti

La mia lettura dei documenti è quella 'page_arguments' => array(2) Mezzi: "Pass percorso numero 2 come il primo argomento al callback della pagina, seguito da qualsiasi argomento opzionale". Quindi otterresti: RANDOMSTRING, RANDOMSTRING, USERID.

ATTENZIONE: non sono un esperto di Drupal e quanto sopra potrebbe essere sbagliato. Puoi controllarlo abbastanza facilmente dando invites_pageAuth Un altro argomento, cambiando il 2 nel tuo page_arguments, eccetera.

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