web-dev-qa-db-fra.com

Comment ajouter des champs supplémentaires au profil utilisateur?

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.

22
Alexey

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);
  }
}
23
FLY

J'ai trouvé la page difficile à trouver, mais dans/admin/config/people/accounts/fields, vous pouvez ajouter des champs aux utilisateurs.

36
Attiks

Le profil en D7 est un peu bizarre. Le module profile2 peut faire ce dont vous avez besoin.

5
Jeremy French

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:

  1. Activez le module Field UI.
  2. 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).

  3. Remplissez la ligne "Ajouter un nouveau champ" ou "Ajouter un champ existant" au bas du formulaire et cliquez sur "Enregistrer".
4
Chanuka Asanka

Quel type de champs souhaitez-vous ajouter?

  • S'il s'agit d'un site de réseau social et que vous ajoutez des champs de paramètres de confidentialité, utilisez le module Privacy Per User .
  • Si vous souhaitez ajouter des onglets ou des champs d'accordéon, utilisez le module field_group pour ajouter de nouveaux groupes sur les champs du compte utilisateur (URL:/admin/config/people/accounts/fields).
  • Et si vous voulez différents champs pour différents rôles, utilisez le module profile2 .
1
Druvision