drupal 7 のエンティティフォームで作成されたフォームにキャプチャを追加する必要があります。これを行う方法に関する情報が見つかりません。誰がこれがどのように行われるか教えてもらえますか?
4 に答える
このモジュールを試してみてください...
Drupal でエンティティフォーム タイプにCAPTCHA を追加するには:
提供されたCaptchaモジュールをインストールまたは有効にします。
CAPTCHA を追加するエンティティフォーム タイプを決定します。
管理者 > 構造 > Entityform の種類
admin/structure/entityform_types
Entityform タイプのリストから、Entityform タイプのマシン名(例:
contact_us
) をコピーします。キャプチャ モジュールを構成します。
管理者 > 構成 > 人 > CAPTCHA
admin/config/people/captcha
フォーム保護フィールドセット内で、エンティティフォーム タイプのマシン名*をフォーム ID 値として追加します。
*注意: Captcha モジュールが期待するフォーム ID は、テキストの文字列が追加されたエンティティフォーム タイプのマシン名です
_entityform_edit_form
。たとえば、エンティティフォーム タイプのマシン名が
contact_us
の場合、完全なフォーム ID は になりますcontact_us_entityform_edit_form
。これは、エンティティフォーム タイプの HTML ソースを表示し、フォームの ID 属性を相互参照することで確認できます。
<form class="entityform" id="contact-us-entityform-edit-form" ...>
Drupal で一般的なように、実際の値ではハイフンがアンダースコアに置き換えられていることに注意してください。
適切なチャレンジ タイプを選択するか、デフォルトを使用します。
Captcha 構成の変更を保存します。
CAPTCHA が正常に追加されたことを確認するには、プライベート ブラウジング セッション (Chrome のシークレット ウィンドウなど) を開いてエンティティフォーム タイプを表示するか、Drupal からログアウトしてフォームを表示します。
もう 1 つの便利なモジュールはSpamicideモジュールです。
Spamicide は各フォームに入力フィールドを追加し、css で非表示にします。スパム ボットがフィールドに入力すると、フォームは破棄されます。
Drupal のすべてのフォームでこの機能を有効にすることができます。