2019年03月20日
URLのパラメータの値をContactFormの投稿に保存する
ContactForm の流入元を記録する為にURLにパラメータを付けるなどを行う場合があるかと思います。今回はこのパラメータの値を投稿データとして保存する方法をご紹介します。
まず値を保存するためのフォーム項目を作成します。タイプを「テキスト」、ベースネームを URL パラメータと同じ名前にします。テンプレートには以下の内容を指定します。
<mt:setvarblock name="request_basename">request.<mt:var name="field_basename"></mt:setvarblock> <input type="hidden" id="<mt:var name="field_basename">" name="<mt:var name="field_basename">" value="<mt:var name="$request_basename" escape="html">"/>
「request.」から始まる変数を DynamicMTML または CGI でレンダリングされるテンプレートから参照すると、リクエストパラメータの値を参照することができます。たとえば「request.foo」でリクエストパラメータ「foo」の値を参照することができます。これを利用してベースネームと同じ名前のパラメータの値を取得します。あとはその値を input type="hidden" に設定します。
このフォーム項目を使用したフォームを設定したページまたは記事を DynamicMTML を使用して表示すると、URL に指定したパラメータの値がフォームに取り込まれ、投稿データとして保存されます。
DynamicMTML が使用できない場合は、以下の URL で ContactForm を直接表示することでこの仕組みを利用することができます。独自のパラメータはこのURLの末尾に追加します。
- カテゴリー
- DynamicMTML
- 技術情報
コメントを投稿する