Модуль регистрации пользователей для Drupal

22

Drupal использует электронную почту для регистрации пользователей. Вместо стандартной регистрации пользователя в Drupal, которая требует от пользователя указания имени пользователя и адреса электронной почты, я хочу использовать для своего веб-сайта полноценную форму регистрации пользователя (с капчей, профилем пользователя и т. Д., Например, регистрацией Yahoo или Gmail).

Есть ли модуль, который это делает?

Гравитон
источник

Ответы:

24

Есть несколько вариантов для этого.

Для получения полей профиля наиболее распространенным решением является модуль профиля, включенный в ядро ​​Drupal. Перейдите Administer > Site building > Modulesи включите его в разделе core-option. Затем вы можете настроить модуль профиля в Administer > User settings > Profileи в настройках вы можете сказать, будут ли поля отображаться при регистрации или нет.

Чтобы получить капчу при регистрации, вам понадобится один из пары модулей:

Я предпочитаю Mollom, потому что он работает очень хорошо, но не раздражает, но отправляет ваш контент на внешний сайт для проверки.

Существует также капча, которая менее надежна, чем Mollom, но которая хранит контент на вашем сайте.

greggles
источник
Использование модуля профиля контента - лучший выбор вместо стандартного модуля профиля. Профиль контента создает узлы.
eddy147
2
Blech. На самом деле, нет. Профиль контента - это куча накладных расходов. Если основной профиль работает хорошо для потребностей пользователя (что он делает в этом случае), то он намного проще, чем профиль содержимого. «Профиль контента создает узлы», но узлы не всегда лучше!
greggles
10

Типичным выбором для этого является использование комбинации content_profile для создания профиля пользователя в качестве узла, content_profile_registration , компонента content_profile, для создания такого профиля при регистрации с использованием такой полноценной формы редактирования узла и, возможно, auto_assign_role, если вы есть несколько типов пользователей с различными типами профиля.

Что касается капчи, то Mollom является интересным сервисом, как предположил Грегглс, но вы также можете рассмотреть reCaptcha , который также хорош даже в качестве публичного сервиса.

FGM
источник
7

Похоже, что рекомендуемый процесс сейчас создает поля. С сайта Drupal :

Модуль Profile устарел в Drupal 7. Он поддерживается только для предоставления пути обновления для сайтов Drupal 6, которые его использовали. Использование модуля Profile2 или создание полей непосредственно на объекте пользователя рекомендуется в Drupal 7.

Тони
источник
1

ReCaptcha точно.

Вы также можете сделать так, чтобы поля простого профиля отображались при регистрации, если вы хотите оставаться стройным. Хотя для этого часто требуется тема user_profile.tpl.php, если вы хотите, чтобы эта страница была общедоступной.

PS: Модуль Email Registration может быть как пользовательского, так и LoginToboggan .


источник
1

Что касается «полноценной формы регистрации пользователя», вы можете перейти к Admin >> Use Management >> Profiles, затем создать / настроить поля и убедиться, что вы отметили опцию «Видимо в форме регистрации пользователя».


источник
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'])));
     }
   }
?>

источник