回答:
これにはいくつかのオプションがあります。
プロファイルフィールドを取得するための最も一般的なソリューションは、Drupalコアに含まれるプロファイルモジュールです。Administer > Site building > Modules
core-optionalに移動して有効にします。次にAdminister > User settings > Profile
、設定でプロファイルモジュールを設定し、登録中にフィールドが表示されるかどうかを指定できます。
登録中にキャプチャを取得するには、いくつかのモジュールのいずれかが必要です。
Mollomは、迷惑をかけることなく非常にうまく機能するので、Mollomを好みますが、コンテンツを外部サイトに送信して検証を行います。
Mollomよりも信頼性は低いが、コンテンツをサイト内に保持するCaptchaもあります。
このため、一般的な選択は、組み合わせ使用することですcontent_profileを、ノードとしてユーザプロファイルを作成するにはcontent_profile_registration、content_profileの構成要素は、そのような本格的なノード編集フォームを使用して登録時に、このようなプロファイルを作成するために、そしておそらくauto_assign_roleあなたの場合異なるプロファイルタイプを持つ複数のタイプのユーザーがいます。
キャプチャの部分については、Gregglesが示唆したようにMollomのは、興味深いサービスですが、あなたも考慮する必要があります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'])));
}
}
?>