Come creare a livello di codice un nuovo utente con campi personalizzati?


18

Voglio creare un utente con alcuni campi personalizzati. Ho creato campi extra tramite config> persone> informazioni sul sito> gestisci campi e campi come nome, cognome, città ecc. Voglio creare un utente con questi campi personalizzati.

Come posso creare un utente a livello di codice?

Risposte:


25

Utilizzando la user_savefunzione Drupal puoi creare nuovi utenti in questo modo:

$new_user = array(
  'name' => 'JohnDoe',
  'mail' => 'john.doe@email.com',
  'pass' => 'password123',
  'status' => 1,
  'field_custom_first_name' => array(LANGUAGE_NONE => array(array('value' => 'John'))), // This becomes $account->field_custom_first_name[LANGUAGE_NONE][0]['value']
  'field_custom_last_name' => array(LANGUAGE_NONE => array(array('value' => 'Doe'))),
  'access' => REQUEST_TIME,
  'roles' => array(), // No other roles than Authenticated
  //'roles' => array('10' => '10', '11' => '11'), // If you want to specify additional roles, the numbers are role_id's
);
user_save(NULL, $new_user);

Non sono sicuro di cosa accessfaccia, l'ho copiato dai commenti della pagina user_save e li ho modificati, quindi non sono al 100% su cosa accessfa. Suppongo che sia la data dell'ultimo accesso, quindi se è un nuovo utente, immagino che non dovrebbe essere impostato.
Beebee,

grazie funziona bene per me. e scusa per il ritardo nella riproduzione.
Pranav Gandhi,

@GandhiPranav Non dimenticare di accettare le risposte alle tue domande se ti hanno aiutato; questo consente ai futuri visitatori di sapere che una soluzione particolare è stata quella che ha risolto il tuo problema specifico e premia il risponditore per i loro sforzi. Puoi accettare una risposta facendo clic sul segno di spunta sotto l'indicatore di voto. Grazie :)
Clive

L'accesso è solo l'ultimo campo di accesso (come il campo "creato"
ergophobe,

Questo funziona per creare nuovi utenti, ma non esiste un'entità "preferita" come con i nodi? Qualcosa che coinvolge entity_create_stub_entity ('user') o entity_metadata_wrapper (..)? Lo chiedo perché ho faticato a farlo nel modo dell'entità .. :)
texas-bronius,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.