有没有一个模块可以在注册时为不同的角色制作不同的注册表格? (。每前主编,主用户,副用户角色有不同的形式)如何在Drupal中制作不同的注册表单?
1
A
回答
1
有:)
http://drupal.org/project/autoassignrole
通过路径分配还需要内容简介:
http://drupal.org/project/content_profile
退房本教程就如何把它关闭:
http://www.web-a-team.com/blog-post/user-registration-more-one-role
+0
我安装了这个,但是如何创建不同的页面? – MJH 2011-02-14 15:52:03
2
这里是你应该做的
- 开始与安装profile2-7.x-1.2.tar.gz。
- 实体7.x的-1.0-rc3.tar.gz一旦你安装了PROFILE2 - >
- 启用 - >点击配置 - (这里你可以看到你的个人资料类型 -add只要你想尽可能多的)。
当您添加一个新的或修改现有的“主”时,请确保您选中“提供单独的页面以编辑配置文件”。 4.现在有不同的注册,登录和密码更改页面 安装并启用profile2_regpath-7.x-1.9.tar.gz 现在再次访问配置文件类型页面,你应该看到“UNIQUE REGISTRATION PATH”.. rest is容易..
0
这里有一些想法如何解决你的问题在Drupal 7(我认为它应该在Drupal 6也工作)。但是它不是安全的,因为任何人都可以只改变他们的作用:
function my_module_form_user_register_form_alter(&$form, &$form_state, $form_id) {
$company_role = $form_state['build_info']['args'][0];
$form['account']['company_role'] = array(
'#type' => 'select',
'#title' => t('Company role'),
'#options' => drupal_map_assoc(array('editor','main user','Sub User')),
'#description' => t('Please select your company role'),
"#empty_option" =>t('- Select -'),
'#weight' => -11, // Add the select box above username that have weight -10
);
switch (strtolower($company_role)) {
case 'editor':
// add extra fields for editor
$form['account']['company_role']['#default_value'] = $company_role;
break;
case 'main user':
// add extra fields for main
$form['account']['company_role']['#default_value'] = $company_role;
case 'sub user';
// add extra fields for 'Sub User'
$form['account']['company_role']['#default_value'] = $company_role;
break;
default:
$form['account']['company_role']['#empty_option'] = t('- Select -');
$company_role = null;// error handling or default case
}
}
比如你在你的公司的LDAP,你可以改为从LDAP获取(https://www.drupal.org/node/1053748)这一信息。那么你可以更确定角色是否被正确选择。
你怎么知道用户在注册之前会有什么作用? – mingos 2011-02-14 13:58:56
与url(例如reg/editor,reg/main,reg/sub) – MJH 2011-02-14 14:02:23