Je voudrais ajouter des champs supplémentaires au profil utilisateur. J'aimerais que l'utilisateur puisse modifier presque toutes les informations que je stocke dans la base de données à son sujet. J'ai quelques idées: peut-être qu'il est possible de le faire en utilisant le formulaire api.
Un moyen d'ajouter des champs utilisateur par code afin que vous puissiez les mettre dans votre module.
J'ai trouvé ceci: field_create_field avec dans les commentaires un moyen de créer un champ pour votre utilisateur lors de l'activation de votre module:
/**
* Implementation of hook_enable().
*/
function MYMODULE_enable() {
// Check if our field is not already created.
if (!field_info_field('field_myField')) {
$field = array(
'field_name' => 'field_myField',
'type' => 'text',
);
field_create_field($field);
// Create the instance on the bundle.
$instance = array(
'field_name' => 'field_myField',
'entity_type' => 'user',
'label' => 'My Field Name',
'bundle' => 'user',
// If you don't set the "required" property then the field wont be required by default.
'required' => TRUE,
'settings' => array(
// Here you inform either or not you want this field showing up on the registration form.
'user_register_form' => 1,
),
'widget' => array(
'type' => 'textfield',
'weight' => '1',
),
);
field_create_instance($instance);
}
}
J'ai trouvé la page difficile à trouver, mais dans/admin/config/people/accounts/fields, vous pouvez ajouter des champs aux utilisateurs.
Le profil en D7 est un peu bizarre. Le module profile2 peut faire ce dont vous avez besoin.
Dans Drupal 7, utilisez ce processus pour ajouter un champ nouveau ou existant avec différents types de champs (tels que Image, champ Tags etc.) au profil utilisateur:
Allez dans "Admin → Configuration → People: Paramètres du compte" dans le menu admin, puis dans "Gérer les champs" (le deuxième onglet).
(Vous pouvez également utiliser le chemin d'accès direct dans l'URL: /admin/config/people/accounts/fields
).
Quel type de champs souhaitez-vous ajouter?