是否有模块可以在注册时为不同的角色制作不同的注册表单?(例如,每个编辑者、主用户、子用户角色都有不同的形式)
2899 次
3 回答
2
这是你应该做的
- 从安装 profile2-7.x-1.2.tar.gz 开始。
- entity-7.x-1.0-rc3.tar.gz 一旦你安装了 profile2 -->
- 启用->单击配置-(在这里您可以看到您的个人资料类型-根据需要添加任意数量)。
当您添加新的或修改现有的“主要”时,请确保选中“为编辑配置文件提供单独的页面”。4. 现在要安装不同的注册、登录和密码更改页面并启用 profile2_regpath-7.x-1.9.tar.gz 现在再次访问配置文件类型页面,您应该会看到“唯一注册路径”.. 休息很容易..
于 2012-09-19T13:33:08.967 回答
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
于 2011-02-14T14:08:18.700 回答
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 ) 获取此信息。然后,您可以更加确定角色选择是否正确。
于 2016-04-30T07:14:31.167 回答