web-dev-qa-db-fra.com

Module d'enregistrement utilisateur pour Drupal

Drupal utilise le courrier électronique à des fins d'enregistrement des utilisateurs. Au lieu du prêt à l'emploi Drupal qui nécessite que l'utilisateur spécifie un nom d'utilisateur et une adresse e-mail, je veux un formulaire d'enregistrement utilisateur complet (avec captcha, profil utilisateur, etc., comme Yahoo) ou inscription gmail) pour mon site Web.

Y a-t-il un module qui fait ça?

22
Graviton

Il y a quelques options pour cela.

Pour obtenir des champs de profil, la solution la plus courante est le module de profil inclus dans Drupal core. Allez dans Administer > Site building > Modules et l'activer sous core-optional. Ensuite, vous pouvez configurer le module Profil à Administer > User settings > Profile et dans les paramètres, vous pouvez dire si les champs s'afficheront lors de l'inscription ou non.

Pour obtenir un captcha lors de l'inscription, vous aurez besoin de l'un des deux modules:

Je préfère Mollom parce que cela fonctionne très bien sans être ennuyeux, mais il envoie votre contenu à un site externe pour faire une vérification.

Il y a aussi Captcha qui est moins fiable que Mollom mais qui garde le contenu à l'intérieur de votre site.

24
greggles

Le choix typique pour cela est d'utiliser une combinaison de content_profile pour créer le profil utilisateur en tant que nœud, content_profile_registration , un composant de content_profile, pour créer un tel profil lors de l'inscription en utilisant un tel formulaire d'édition de nœud à part entière, et éventuellement auto_assign_role si vous avez plusieurs types d'utilisateurs avec des types de profil distincts.

Pour la partie captcha, Mollom est un service intéressant, comme l'a suggéré Greggles, mais vous voudrez peut-être également considérer reCaptcha , qui est également bon même en tant que service public.

10
FGM

Il semblerait que le processus recommandé crée maintenant des champs. Depuis le site Drupal :

Le module Profile est déconseillé dans Drupal 7. Il est conservé uniquement pour fournir un chemin de mise à niveau pour Drupal 6 sites qui l'ont utilisé. Utilisation du module Profile2 ou la création de champs directement sur l'entité utilisateur est recommandée dans Drupal 7.

7
Tony

ReCaptcha à coup sûr.

Vous pouvez également faire apparaître les champs de profil de base simples lors de l'inscription si vous souhaitez rester maigre. Bien que cela vous oblige souvent à thème user_profile.tpl.php si vous voulez que cette page soit publique.

PS: Le module Inscription par e-mail peut être d'utilisateur, ainsi que LoginToboggan .

1
doublejosh

En ce qui concerne le "formulaire d'inscription utilisateur à part entière", vous pouvez aller dans Admin >> Utiliser la gestion >> Profils puis créer/personnaliser vos champs et assurez-vous de cocher l'option "Visible dans le formulaire d'inscription utilisateur".

1
MarlonRibunal

Si je modifie user_profile.tpl.php alors je peux facilement maintenir la partie d'enregistrement comme je veux.

<?php
   // Validate the username:
   if (user_access('change own username') || user_access('administer users') || arg(1) == 'register') {
     if ($error = user_validate_name($edit['name'])) {
       form_set_error('name', $error);
     }
     else if (db_num_rows(db_query("SELECT uid FROM {users} WHERE uid != %d AND LOWER(name) = LOWER('%s')", $uid, $edit['name'])) > 0) {
       form_set_error('name', t('The name %name is already taken.', array('%name' => $edit['name'])));
     }
     else if (drupal_is_denied('user', $edit['name'])) {
       form_set_error('name', t('The name %name has been denied access.', array('%name' => $edit['name'])));
     }
   }
?>
0
monjurulhoque