2010-03-11 6 views
2

Dans mon site Drupal, je vais avoir deux catégories d'utilisateurs, par exemple la catégorie A et de catégorie B. Quand une personne veut créer un compte sur le site, je veux leur demander quelle catégorie ils appartiennent et sur la base de qui montrent les champs sur le formulaire de compte d'utilisateur. Les champs affichés dépendent de la catégorie sélectionnée. Le formulaire de compte utilisateur Drupal a deux champs par défaut: nom d'utilisateur et adresse e-mail. Je peux en ajouter en utilisant le module Profil, mais comment afficher différents champs sur le formulaire de compte utilisateur en fonction de la sélection des utilisateurs?Personnalisation de Drupal compte utilisateur sous forme

Toute aide serait grandement appréciée. Merci

Répondre

0

Je l'ai fait dans le passé avec hook_form_alter et en vérifiant $ _GET ['type']. Si $ _GET [ 'type'] est vide, je l'ai fait quelque chose comme ceci:

$form = array(
    '#value' => '<div><a href="/user/register?type=A">Register as A</a> or <a href="/user/register?type=B">Register as B</a></div>', 
); 

Si $ _GET [ 'type'] est 'A' ou 'B', j'ai enlevé les éléments de formulaire non pertinents pour ce type . Ensuite, dans le gestionnaire #submit, je mets l'utilisateur dans le rôle approprié.

1

Vérifiez le module Profile Setup. Quelques détails sur ce module (à partir de sa page de projet):

configuration du profil de Drupal 6 fonctionne maintenant le long du côté du module pageroute (6.x-1.x-dev) pour fournir des types de pages supplémentaires via le pageroute API, les workflows d'installation de profils complètement personnalisés sont désormais plus flexibles que jamais grâce à l'aide du module pageroute.

instructions d'installation sont données dans le fichier install.txt dans le dossier du module, donc s'il vous plaît les lire avant d'installer ce module ou envisager de soumettre un rapport de bogue.

Si vous mettez à niveau de la version Drupal 5 s'il vous plaît lire le fichier UPGRADE.txt dans le dossier du module.

0

en utilisant hook_form_alter vous pouvez modifier vos champs de formulaire, en utilisant et unset ajouter un élément à l'intérieur sous forme. Je suppose que vous avez une sélection de catégorie sur la même page d'enregistrement d'utilisateur lors de la sélection, vous pouvez utiliser le module AHAH Helper pour modifier le champ de formulaire en fonction de la sélection de la catégorie.

espérons que ça aide.

Questions connexes