注文完了画面に、Google Analyticsのイーコマースタグや広告、アフィリエイト等の計測タグを導入したい場合の方法をご紹介いたします。

基本的な考え方

コンバージョンタグには必ず注文の詳細情報が必要になると思いますが、カスタマイズ前の完了画面では詳細情報を取得できません。

そこで一工夫することとなります。注文完了画面では受注ID($orderId)をセッションより取得しています。この情報からOrderエンティティを取得してやれば、注文の詳細な内容を得ることが可能です。

ただし、注文完了画面では受注IDのセッションから削除していますので、一度しか取得することはできません。(画面リロード時には取得できません)
そのことを考慮して、$orderIdがNULLである可能性を考慮した上でOrderエンティティをデータベースから検索します。

ShoppingController::complete

これでテンプレートへ注文の詳細情報を渡すことができます。
注文金額であれば、{{ Order.total }}
氏名であれば、{{ Order.name01 }}{{ Order.name02 }}のようになります。

注文した商品の情報であれば、Order.OrderDetailをループで参照することとなります。

Shopping/complete.twig

このカスタマイズにより、注文完了画面へ広告やアフィリエイトのコンバージョンタグを設置することが可能です。

関連するカスタマイズ

Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
メーカープラグインのメーカー一覧を取得する方法... メーカープラグインを使用される方が多いと思います。 メーカーの一覧を表示したい場合は次のようにメーカープラグインのレポジトリクラスでfindByすることで取得が可能です。 Controllerなどで使える実際のコード 全件取得するのでfindByの第1引数は空の配列、第2引数はソート順...
基本税率を切り捨て、切り上げ、四捨五入に変更... 開発メンバー全員のルールを揃えておくことが重要です。 dtb_tax_ruleテーブルのcalc_ruleの設定値は次の表の通りです。 calc_rule 方式 1 四捨五入 2 切り捨て 3 切り上げ これをマイグレーションで...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....