Modification du formulaire d'inscription

8

Je voudrais réviser le formulaire d'enregistrement de nouvel utilisateur par défaut dans Drupal 7. Plutôt que de demander "nom d'utilisateur", je veux demander "nom complet" avec des instructions d'aide pour saisir le texte "nom d'utilisateur est votre nom complet comme vous l'utiliseriez normalement . "

Il y a peut-être d'autres changements de mise en forme mineurs que j'aimerais également apporter.

Je ne trouve pas d'élément de menu administrateur pour accéder à tout ce qui concerne cette question. Et je ne parviens pas à localiser dans un directeur un fichier contenant du texte indiquant qu'il s'agit de la source du nouveau formulaire d'inscription d'utilisateur.

Je me rends compte que c'est un peu non conventionnel, mais c'est utile pour nos besoins. Je connais un module qui permet la saisie du prénom / nom, mais lors du traitement, il modifie la saisie en première initiale / nom de famille, c'est-à-dire Tom Thumb = nom d'utilisateur de "tthumb". Le module "Realname Registration" serait exactement ce que je recherche s'il ne traduisait que le nom d'utilisateur de la même manière que l'entrée.

Cela ne résoudrait pas nécessairement les autres modifications de mise en forme, mais je serais très heureux de pouvoir modifier manuellement le texte d'aide du formulaire d'inscription dans le champ Nom d'utilisateur, en demandant au nouvel utilisateur de s'inscrire en utilisant son vrai nom.

Merci pour toute l'aide que tu peux apporter.

JM

JM Foster
la source

Réponses:

13

La façon la plus simple est de créer un module personnalisé et d'utiliser hook_form_alter () :

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id === 'user_register_form') {
    $form['account']['name']['#title'] = t('Full name');
    // perform other changes here
    // var_dump() or krumo() the contents of $form to see what you can change
  }
}

Si vous préférez, vous pouvez également une variante de hook_form_alter pour cibler le formulaire spécifiquement au lieu d'avoir à faire un if

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) {
  $form['account']['name']['#title'] = t('Full name');
  // perform other changes here
}
Alex Weber
la source
Comment puis-je définir la valeur du champ Mot de passe? je ne trouve pas la structure
xstean
Le formulaire est le même pour l'inscription administrateur et invité. Pour détecter s'il s'agit du formulaire d'administration "Créer un utilisateur" ou du formulaire d'inscription, vous pouvez utiliser user_is_anonymous().
milkovsky