Drupal的用户注册模块


22

Drupal使用电子邮件进行用户注册。我不需要现成的Drupal用户注册来要求用户指定用户名和电子邮件地址,而是要为我的网站提供完整的用户注册表格(带有验证码,用户个人资料等,例如yahoo或gmail注册)。

是否有执行此操作的模块?

Answers:


24

有两种选择。

要获取配置文件字段,最常见的解决方案是Drupal核心中包含的配置文件模块。Administer > Site building > Modules在core-optional下转到并启用它。然后,您可以在Administer > User settings > Profile和的配置中配置配置文件模块,然后说出这些字段是否会在注册期间显示。

要在注册期间获取验证码,您将需要以下模块之一:

我更喜欢Mollom,因为它可以很好地工作而不会令人烦恼,但是它会将您的内容发送到外部站点进行一些验证。

还有Captcha,它不如Mollom可靠,但可以将内容保留在您的网站内。


代替标准配置文件模块,使用内容配置文件模块是更好的选择。内容概要文件创建节点。
eddy147

2
布莱克 并不是的。内容配置文件是一堆开销。如果核心配置文件可以很好地满足用户的需求(在这种情况下可以做到),那么它比内容配置文件要简单得多。“内容概要文件创建节点”,但是节点并不总是更好!
令人作呕的2011年

10

通常的选择是使用content_profile组合来创建用户配置文件作为节点,content_profile_registration,作为content_profile的组成部分,使用完整的节点编辑表单在注册时创建这样的配置文件,如果可能,则使用auto_assign_role具有具有不同个人资料类型的多种类型的用户。

对于验证码部分,正如Greggles所建议的那样,Mollom是一项有趣的服务,但是您可能还需要考虑reCaptcha,它也可以作为公共服务的两倍。


7

似乎建议的过程现在正在创建字段。在Drupal网站上:

Profile模块在Drupal 7中已弃用。保留该模块只是为了为使用它的Drupal 6站点提供升级路径。建议在Drupal 7中使用Profile2模块或直接在用户实体上创建字段。


1

肯定是ReCaptcha。

如果您想保持身材苗条,还可以在注册中显示简单的核心资料字段。尽管这通常需要您将主题user_profile.tpl.php设置为公开。

PS:电子邮件注册模块可以是用户,也可以是LoginToboggan


1

关于“完整的用户注册表单”,您可以转到管理>>使用管理>>配置文件,然后创建/自定义字段,并确保选中“在用户注册表单中可见”选项。


0

如果我进行编辑,user_profile.tpl.php则可以根据需要轻松维护注册部分。

<?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'])));
     }
   }
?>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.