답변:
이에 대한 몇 가지 옵션이 있습니다.
프로파일 필드를 얻는 가장 일반적인 솔루션은 Drupal 코어에 포함 된 프로파일 모듈입니다. Administer > Site building > Modules
핵심 옵션으로 이동하여 활성화하십시오. 그런 다음 프로파일 모듈을 구성 할 수 Administer > User settings > Profile
있으며 설정에서 필드가 등록 중에 표시되는지 여부를 말할 수 있습니다.
등록하는 동안 보안 문자를 얻으려면 몇 가지 모듈 중 하나가 필요합니다.
내가 선호하는 Mollom을 이 성가신없이 잘 작동하기 때문에,하지만 몇 가지 검증을 수행하는 외부 사이트로 콘텐츠를 전송합니다.
Mollom보다 신뢰성은 떨어지지 만 사이트 내부에 콘텐츠를 보관하는 보안 문자 도 있습니다.
이에 대한 일반적인 선택의 조합을 사용하는 것입니다 content_profile을 노드와 같은 사용자 프로파일 생성 content_profile_registration 가능성 등 본격적인 노드 편집 양식을 사용하여 등록에서 이러한 프로파일을 작성하기 위해, content_profile의 구성 요소를, 그리고 auto_assign_role 당신이 경우 고유 한 프로필 유형을 가진 여러 유형의 사용자가 있습니다.
보안 문자 부분에서 Mollom은 Greggles가 제안한 것처럼 흥미로운 서비스이지만 공공 서비스 로서도 두 배로 좋은 reCaptcha 를 고려할 수도 있습니다 .
확실히 ReCaptcha.
마른 체형을 유지하려면 간단한 핵심 프로필 필드를 등록에 표시 할 수도 있습니다. 이 페이지를 공개하려면 종종 user_profile.tpl.php를 테마로해야합니다.
PS : 이메일 등록 모듈은 LoginToboggan 뿐만 아니라 사용자의 것일 수도 있습니다 .
"본격적인 사용자 등록 양식"과 관련하여 관리 >> 사용 관리 >> 프로필로 이동 한 다음 필드를 작성 / 사용자 정의하고 "사용자 등록 양식에 표시"옵션을 선택하십시오.
편집하면 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'])));
}
}
?>