フォームブロックの自動登録は、認証エリアにログインした人の属性情報やフォームURLのパラメータ値などをフォーム利用者に入力させずにDBに自動登録できる機能です。
会員情報を再入力させずにDB登録したり、キャンペーンフォームの流入元をURLパラメータ値で取得したりするのに使用できます。
ただし、自動登録機能はフィールドタイプによって引用できる値に制限があります。
たとえば、URLパラメータの値をセレクトタイプのフィールドに登録することはできません。
自動登録>値タイプの指定可能条件
この記事では、「プロモーション種別」という名称のセレクトタイプフィールドを例にURLパラメータの値をセレクトタイプのフィールドに自動登録する方法についてご紹介します。
同じ方法で、セレクトタイプ以外のフィールドにも応用することができます。ぜひお試しください。
会員情報を再入力させずにDB登録したり、キャンペーンフォームの流入元をURLパラメータ値で取得したりするのに使用できます。
ただし、自動登録機能はフィールドタイプによって引用できる値に制限があります。
たとえば、URLパラメータの値をセレクトタイプのフィールドに登録することはできません。
自動登録>値タイプの指定可能条件
この記事では、「プロモーション種別」という名称のセレクトタイプフィールドを例にURLパラメータの値をセレクトタイプのフィールドに自動登録する方法についてご紹介します。
同じ方法で、セレクトタイプ以外のフィールドにも応用することができます。ぜひお試しください。
URLパラメータの設定方法
DBのフィールド例
DBに下記のフィールドを用意します。表示名 | 識別名 | タイプ | フィールドID |
---|---|---|---|
プロモーション種別 | select | セレクト | 1(f01) |
パラメータ自動登録用(※) | pram_text | テキスト | 2(f02) |
※「パラメータ自動登録用」フィールドは、ビジュアル設定の時のみ必要です。ソース設定では不要です。
URLに付与するクエリパラメータ例
URLに付与するクエリパラメータは、今回は下記を想定してご案内します。キー | 値 |
---|---|
promotion | 1 |
フォームブロックを設置したページのURL末尾に「?」を付与して、?以降にパラメータを記入します。
https://(アカウント識別名)-(サイト識別名).spiral-site.com/(ページ識別名)?promotion=1
パラメータの設定方法について詳しくは、下記サポートサイト記事をご確認ください。
パラメータ付与
URLパラメータ値は、悪意の有無に関わらず、URLのコピーミスなどで値が変更されてDB登録される恐れがあります。
改ざんされても影響が少ないフィールドのみに使用するようにご注意ください。
ビジュアル設定の場合
フォームブロックの設定方法がビジュアル設定の場合、フォームブロックの自動登録とDBトリガレコードアクションとを組み合わせて設定します。
処理設定では、処理マッピングに「関数設定」を使用してください。
(処理マッピングの「フィールド値設定」は、基本的に同じフィールドタイプ間のマッピングのみに対応しており、テキストフィールドの値をセレクトフィールドへ登録することができません。)
手順1:フォームブロックの設定
フォームブロック設定画面の「自動登録」で、パラメータ自動登録用のテキストフィールドに自動登録を設定します。フィールド | 値タイプ | 値 | |
---|---|---|---|
パラメータ自動登録用 | 引用(任意値) | クエリパラメータキー | promotion |
手順2:DBトリガレコードアクションの設定
DBトリガ>レコードアクションの設定画面で、テキストフィールドの値をセレクトフィールドへ登録する更新トリガを設定します。レコードアクション設定
表示名 | パラメータ値をセレクトフィールドへ登録 |
---|---|
アクション先 | 自DB |
操作 | 更新 |
処理設定では、処理マッピングに「関数設定」を使用してください。
(処理マッピングの「フィールド値設定」は、基本的に同じフィールドタイプ間のマッピングのみに対応しており、テキストフィールドの値をセレクトフィールドへ登録することができません。)
処理設定
処理名 | テキストフィールドの値をセレクトフィールドへ登録 | ||||
---|---|---|---|---|---|
処理タイプ | 更新 | ||||
処理マッピング |
|
||||
エラー処理 | 全てエラー終了 |
ソース設定の場合
フォームブロックの設定方法がソース設定の場合、入力ステップのHTMLソースにセレクトフィールドの input タグを type="hidden" 属性で設定します。
input タグを type="hidden" で設定することで、自動登録の設定をすることなく、クエリパラメータ値と一致するラベルIDの登録ができます。
詳しくは、下記のサポートサイト記事をご参照ください。
パラメータ付与>フォームブロックへのパラメータ設定
なお "hidden" 属性の値は画面上に表示されていませんが、改ざんできてしまう値です。
改ざんされても影響が少ないフィールドのみに使用するようにご注意ください。
input タグを type="hidden" で設定することで、自動登録の設定をすることなく、クエリパラメータ値と一致するラベルIDの登録ができます。
<sp:input-field name="f01"></sp:input-field> <input type="hidden" th:name="${fields['f01'].name}" th:value="${getParams['promotion']}">
パラメータ付与>フォームブロックへのパラメータ設定
なお "hidden" 属性の値は画面上に表示されていませんが、改ざんできてしまう値です。
改ざんされても影響が少ないフィールドのみに使用するようにご注意ください。