在我的Drupal网站中,我将有两类用户,比如A类和B类。当一个人想要在网站上创建一个帐户时,我想问他们属于哪个类别,并以此为基础显示用户帐户表单上的字段。 显示的字段取决于所选的类别。 Drupal用户帐户表单默认有两个字段,即用户名和电子邮件,我可以使用配置文件模块添加更多字段,但如何根据用户选择在用户帐户表单上显示不同的字段集?
非常感谢任何帮助。 谢谢
答案 0 :(得分:1)
检查Profile Setup模块。有关此模块的更多详细信息(来自其项目页面):
Drupal 6的配置文件设置现在与pageroute模块(6.x-1.x-dev)一起工作,通过pageroute API提供其他页面类型,因此完全自定义配置文件设置工作流程现在比以往更加灵活页面路由模块的帮助。
完整的设置说明在模块文件夹的INSTALL.txt文件中给出,因此请在安装本模块之前阅读或考虑提交错误报告。
如果您要从Drupal 5版本升级,请阅读模块文件夹中的UPGRADE.txt文件。
答案 1 :(得分:0)
我过去使用hook_form_alter并检查$ _GET ['type']来完成此操作。如果$ _GET ['type']为空,我做了类似的事情:
$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>',
);
如果$ _GET ['type']是'A'或'B',我删除了该类型的不相关表单元素。然后在#submit处理程序中,我将用户置于适当的角色。
答案 2 :(得分:0)
答案 3 :(得分:0)
通过使用hook_form_alter,您可以使用unset更改表单域,并在表单内添加元素。我假设您在选择的同一用户注册页面上有一个类别选择,您可以使用AHAH Helper模块根据类别选择更改表单字段。
希望它有所帮助。