드루팔 사용자 등록 모듈


22

Drupal은 사용자 등록 목적으로 이메일을 사용합니다. 사용자가 사용자 이름과 전자 메일 주소를 지정해야하는 기본 제공 Drupal 사용자 등록 대신 내 웹 사이트에 대한 완전한 사용자 등록 양식 (요청 또는 Gmail 등록과 같은 보안 문자, 사용자 프로필 등)을 원합니다.

그렇게하는 모듈이 있습니까?

답변:


24

이에 대한 몇 가지 옵션이 있습니다.

프로파일 필드를 얻는 가장 일반적인 솔루션은 Drupal 코어에 포함 된 프로파일 모듈입니다. Administer > Site building > Modules핵심 옵션으로 이동하여 활성화하십시오. 그런 다음 프로파일 모듈을 구성 할 수 Administer > User settings > Profile있으며 설정에서 필드가 등록 중에 표시되는지 여부를 말할 수 있습니다.

등록하는 동안 보안 문자를 얻으려면 몇 가지 모듈 중 하나가 필요합니다.

내가 선호하는 Mollom을 이 성가신없이 잘 작동하기 때문에,하지만 몇 가지 검증을 수행하는 외부 사이트로 콘텐츠를 전송합니다.

Mollom보다 신뢰성은 떨어지지 만 사이트 내부에 콘텐츠를 보관하는 보안 문자 도 있습니다.


표준 프로파일 모듈 대신 컨텐츠 프로파일 모듈을 사용하는 것이 좋습니다. 컨텐츠 프로파일은 노드를 작성합니다.
eddy147

2
블리치. 실제로는 아닙니다. 콘텐츠 프로필은 많은 오버 헤드입니다. 핵심 프로필이 사용자의 요구 (이 경우)에 잘 작동하면 콘텐츠 프로필보다 훨씬 간단합니다. "컨텐츠 프로파일은 노드를 생성하지만"노드가 항상 더 나은 것은 아닙니다!
greggles

10

이에 대한 일반적인 선택의 조합을 사용하는 것입니다 content_profile을 노드와 같은 사용자 프로파일 생성 content_profile_registration 가능성 등 본격적인 노드 편집 양식을 사용하여 등록에서 이러한 프로파일을 작성하기 위해, content_profile의 구성 요소를, 그리고 auto_assign_role 당신이 경우 고유 한 프로필 유형을 가진 여러 유형의 사용자가 있습니다.

보안 문자 부분에서 Mollom은 Greggles가 제안한 것처럼 흥미로운 서비스이지만 공공 서비스 로서도 두 배로 좋은 reCaptcha 를 고려할 수도 있습니다 .


7

권장 프로세스가 현재 필드를 작성하는 것으로 보입니다. 로부터 드루팔 사이트 :

프로파일 모듈은 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'])));
     }
   }
?>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.