これは Craft CMS Advent Calendar 2017 24日目の記事です。
管理機能として複数のフォームを管理したり、それぞれを柔軟にカスタマイズできると便利ですよね?
Craft CMS でも、有償・無償それぞれにいくつか使い勝手のよい問い合わせフォーム用のプラグインが提供されています。
そこで、今回は a&m forms
プラグインについてまとめてみます。
思っていたよりも項目が多かったため、今回は「プラグイン設定」に絞って解説します。
a&m forms プラグインとは
am-impact/amforms: Forms plugin for Craft
https://github.com/am-impact/amforms
GitHub で公開されているフォーム管理用のプラグインで、以下のような特徴があります。
- 複数フォームの作成
- フォーム専用フィールドの作成
- 受信データの CSV エクスポート
- アンチスパム機能
- Google reCAPTCHA 連携
利用頻度の高い機能がまとまっていて、かつ、商用利用でも無料で使えるため、抑えておいて損はないでしょう。
なお、ライセンスの詳細については LICENSE.txt にも目を通しておいてください。
プラグインの設定項目について
プラグインの設定画面では、5つのグループに関する指定が可能です。
項目ごとの概要を列挙しますので、参考にしてください。
一般
プラグイン全体に関わる設定です。
ラベル | 値 |
---|---|
Plugin name | 管理画面に表示されるプラグインの名称を変更します。 |
Quiet errors | ここが ON の場合、エラーが生じるとログに出力します。OFF の場合は throw されます。 |
Fields per set | フィールドレイアウトの設定画面に影響します。1つあたりの FIELDSET に含まれるフィールド数を指定します。 |
Bcc email address | 管理者宛通知メールの BCC にするメールアドレスを指定します。 |
Exports
受信データの CSV エクスポートに関する設定です。
ラベル | 値 |
---|---|
Delimiter | セルの区切り文字を指定します。 |
Export rows per set | Export タスクで出力される1ファイルあたりの行数を指定します。 |
Ignore Matrix field and block names | Matrix フィールド、または、それに含まれるブロックを出力から除外する場合に ON にします。 |
Ignore Matrix multiple rows | Matrxi フィールドに複数のブロックが含まれる場合、ここを ON にしておくと最初のブロックだけに出力を制限します。 |
AntiSpam
アンチスパムに関する設定です。
ラベル | 値 |
---|---|
Honeypot enabled | Honeypot を有効にする場合は ON にします。 |
Honeypot name | Honeypot 用のテキストフィールドの name 属性値を指定します。 |
Time check enabled | フォーム送信までの時間をチェック対象にする場合は ON にします。 |
Minimum time in seconds | フォーム送信までに最低限必要とする秒数を指定します。 |
Duplicate check enabled | 受信データの重複チェックを有効にするかを指定します。 |
Origin check enabled | ユーザーエージェントなどによる重複チェックを有効にするかを指定します。 |
Honeypot を有効にする場合、テンプレートの form
タグ内に {{ craft.amForms.displayAntispam() }}
を記述しておく必要があります。
reCAPTCHA
Google reCAPTCHA に関する設定です。あらかじめ API Key を取得してください。
ラベル | 値 |
---|---|
Google reCAPTCHA enabled | reCAPTCHA を有効にする場合は ON にします。 |
Site key | 取得した Site key をセットします。 |
Secret key | 取得した Secret key をセットします。 |
reCAPTCHA を有効にする場合、テンプレートの form
タグ内に {{ craft.amForms.displayRecaptcha() }}
を記述しておく必要があります。なお、 API Key の取得時に Invisible reCAPTCHA
を選択していても、reCAPTCHA V2
タイプの表示となります。
Templates
フォーム表示用のテンプレートを craft/templates
下層にある任意のテンプレートで上書きします。
ラベル | 値 |
---|---|
Form template | displayForm() で出力されるフォーム全体のテンプレートを指定します。 |
Tab template | フォームの設定で Display tab titles が ON の場合に displayForm() で出力されるタブタイトル部分のテンプレートを指定します。 |
Field template | displayField() で出力されるフィールド部分のテンプレートを指定します。 |
Notification template | 管理者向けの通知メールのテンプレートを指定します。 |
Confirmation template | 自動返信メールのテンプレートを指定します。 |
ここで指定可能なすべてテンプレートは、各フォームの設定画面で上書きすることもできます。
まとめ
ここでは a&m forms
プラグインの「プラグイン設定」についてまとめてみました。
次回は、サンプルのフォームを作成しながらポイントを解説しようと思います。