SOY Inquiryでコンバージョンタグを利用したいという問い合わせがありましたので、簡易的な設置方法を説明します。
コンバージョンタグと言えば、どこかのサイトから自社にリンクが張られた時に、
https://saitodev.co?sample_conv=dev
のようにURLの末尾にGETで値が渡されるものです。
このタグの値を保管しておき、お問い合わせ完了画面等で、この値を何らかの形で表示する。
今回は、どこのページでもコンバージョンタグを受け取ることができ、お問い合わせ完了時にhiddenで値を表示するということをやってみます。
はじめにフロントコントローラであるindex.phpにGETの値を受け取る処理を追加します。
コンバージョンタグは上のサンプル通り、sample_convで渡されることにします。
サイトをルート設定している場合は、
/ルート/index.php
ルート設定していない場合は、
/ルート/サイトID/index.php
を開きます。
文頭の<?phpの次の行に下記のコードを追加します。
if(isset($_GET["sample_conv"])){ session_start(); if(is_null($_SESSION["sample_conv"])){ $_SESSION["sample_conv"] = $_GET["sample_conv"]; } }
これでどのページにアクセスがあってもコンバージョンタグの値を受け取れる様になりました。
続いて、お問い合わせフォームですが、一旦バージョンアップを行っても上書きされない様に専用のテンプレートを用意します。
下記の記事を参考に新しいテンプレートを用意しましょう。
SOY Inquiry1.1.4でフォームのカスタマイズ用のファイルを同梱しました | SOY CMS開発ブログ
SOY Inquiryで生成されたフォームのCSSを変更する
今回は新しいテンプレートIDをsoyにして話を進めます。
soyテンプレートを用意したら、
/ルート/cms/app/webapp/inquiry/src/template/soy/complete.php
を開き、ファイルの末尾に下記のコードを追加します。
<?php session_start(); if(isset($_SESSION["sample_conv"])){ echo "<input type=\"hidden\" name=\"sample_dev\" value=\"" . htmlspecialchars($_SESSION["sample_conv"], ENT_QUOTES, "UTF-8") . "\">"; unset($_SESSION["sample_conv"]); } ?>
コードを追加した状態でURL + ?sample_dev=devでアクセスし、
試しにお問い合わせをして、完了画面でソースコードを表示してみると、
<input type="hidden" name="sample_dev" value="dev">
というタグが追加されています。
これでコンバージョンタグの設定は終了です。
お問い合わせ終了時のメール文面にコンバージョンの有無を表示したい場合は、
管理者向けのメールであれば、
/ルート/cms/app/webapp/inquiry/src/template/soy/mail.admin.php
を開き、
ユーザ向けのメールであれば、
/ルート/cms/app/webapp/inquiry/src/template/soy/mail.user.php
を開き、
session_start(); if(isset($_SESSION["sample_conv"])){ echo "コンバージョンタグに関する表記"; //unset($_SESSION["sample_conv"]); }
を追加します。
この時注意すべき点として、お問い合わせ完了画面よりもメールの方が先に実行されます。
お問い合わせ完了画面を開かない場合は、unset($_SESSION["sample_conv"]);のコメントアウトは外しましょう。