Domanda

Ho bisogno di fare una richiesta di riposo ogni volta che un nuovo utente si inscrive.

La richiesta REST restituisce alcuni dati che ho bisogno di memorizzare per l'account utente Drupal, ed essere in grado di presentare come da qualche parte il contenuto.

Qual è il miglior / modo più pulito per farlo?

È stato utile?

Soluzione

E 'possibile farlo in un semplice modulo personalizzato , essere sicuri di prima capire Drupal ganci sistema come questo è la base per (quasi) tutto Drupal

.

Nel modulo, è possibile implementare hook_user_presave() di essere chiamato prima di un account utente viene salvato. Si chiamerà sia per la creazione e l'aggiornamento, quindi sarà necessario per proteggere il codice con una condizione per rilevare nuovo utente. Dopo la chiamata REST, c'è parecchio possibilità di memorizzare i dati restituiti. Quella più semplice è l'usare l'attributo di dati dell'account utente. Si tratta di un semplice array PHP che verrà serializzato in un colonne di database. E non è molto buona performande saggio e non molto flessibile (è possibile interrogare i dati memorizzati), ma è facile.

function MODULE_user_presave(&$edit, $account, $category) {
  // Accoding to user_save's documentation, this is a new user if
  // $account->is_new is set to TRUE or if $account->uid is not set
  if ($category == 'account' && (!empty($account->is_new) || !isset($account->uid)))) {
    $edit['data']['MODULE'] = MODULE_get_data_from_rest($account);
  }
}

Altri suggerimenti

Una caratteristica di base in Drupal 7 è disponibile in grado di attivare un'azione specifica, se si crea un utente, ecc Non c'è bisogno di codice per ottenere questo:

  • Attiva il modulo Trigger
  • Seleziona Configurazione >> Azioni e creare un'azione disponibile nell'elenco a discesa
  • Seleziona Struttura >> Trigger , fai clic sulla utente e assegnare l'azione si è creato un po 'indietro a trigger: dopo aver creato un nuovo account utente

Regole o moduli del flusso di lavoro può essere quello che stai cercando.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top