Hero

Como crear un usuario usando Entity API y Profile2 para Drupal 7

Febrero 27, 2013

kenneth
APIs
Drupal

Como se mostró en la entrada Como subir un archivo usando Form API en Drupal 7 es posible crear usuario en Drupal vía código. En esta entrada se explicara como crear un usuario Drupal pero usando el Entity API y a la misma vez definir unos o todos los valores del perfil creado con el módulo Profile2.

Para crear un usuario se usara el siguiente código,

<pre title="Crear usuario en Drupal">$account = entity_create('user', array());
$account->name = $mail;
$account->mail = $mail;
$account->password = user_password(8);
$account->status = 1;
$account->roles = array(
 DRUPAL_AUTHENTICATED_RID => 'authenticated user',
);
entity_save('user', $account);

Ahora una vez creado nuestro nuevo usuario procederemos a crearle su perfil principal que hemos llamado main y relacionarlo al usuario creado,

<pre title="Crear perfil principal y relacionar el usuario Drupal">$profile = entity_create('profile2', array('type' => 'main'));
$profile->uid = $account->uid;

/*
 Estos son unos ejemplos de unos atributos que
 pudiera tener el perfil principal.
*/
$profile->field_first_name[LANGUAGE_NONE][0]['value'] = 'Juan';
$profile->field_last_name[LANGUAGE_NONE][0]['value'] = 'Perez';

$profile->save();

$account->profiles['main'] = $profile;
entity_save('user', $account);

Espero que les sea de mucha ayuda y lo logren implementar en sus módulos personalizados,

Saludos,

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.