[EC-CUBE2.13] 注文完了画面に注文番号と小計を表示(アフィリエイトコンバージョンタグ)
- 公開日:2015/4/7
アフィリエイト広告を出している場合、注文完了画面にアフィリエイトのコンバージョンタグを埋め込む必要があります。大手のアフィリエイト会社であればプラグインもありますが、そうでない場合も多いのでその方法。
注文完了画面で注文番号と小計を表示したい
LC_Page_Shopping_Completeをカスタマイズ
アフィリエイトのコンバージョンタグに必要となるパラメーターは多くが「注文番号」と「小計(税抜)」です。
注文完了画面にこれらの値を受け渡したいのでLC_Page_Shopping_Completeをカスタマイズします。
data/class_extends/page_extends/shopping/LC_Page_Shopping_Complete_Ex.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public function action() { $this ->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); // 注文情報を取得 $objPurchase = new SC_Helper_Purchase(); $arrOrder = $objPurchase ->getOrder( $_SESSION [ 'order_id' ]); // 必要な値を完了画面に引き渡す $this ->arrMyOrder = array ( 'order_id' => $arrOrder [ 'order_id' ], // 注文番号 'price' => $arrOrder [ 'subtotal' ] - $arrOrder [ 'tax' ], // 小計-消費税 ); } |
小計は、税込の金額から消費税を引いています。
取得した注文情報を配列ごと完了画面に渡し、完了画面で必要な値を抜き出す方法もありますが、ここでは必要な値だけを渡すようにしてみました。
complete.tplを編集
以下で表示することができます。
data/Smarty/templates/default/shopping/complete.tpl
1 2 | <!--{ $arrMyOrder .order_id}--> // 注文番号 <!--{ $arrMyOrder .price}--> // 小計(税抜) |
他デバイスのテンプレートでも同じです。
1 | < img src="http://www.e-click.jp/applications/applicate/任意のコード/ <!--{$arrMyOrder.price}--> / <!--{$arrMyOrder.order_id}--> " width="1" height="1"> |
商品番号や商品単価、購入個数なども表示したい
アフィリエイト会社によっては、商品番号や商品単価、購入個数などもパラメータに含める必要とされる場合もあります。
例として、moba8とアフィリエイトBのコンバージョンタグでやってみます。
(各社タグは、広告プログラムによって異なるタグが数種類あるので、あくまでも例として参考にしてください。)
LC_Page_Shopping_Completeをカスタマイズ
同じく、data/class_extends/page_extends/shopping/LC_Page_Shopping_Complete_Ex.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public function action() { $this ->arrInfo = SC_Helper_DB_Ex::sfGetBasisData(); // 注文情報を取得 $objPurchase = new SC_Helper_Purchase(); $arrOrder = $objPurchase ->getOrder( $_SESSION [ 'order_id' ]); $arrOrderDetail = $objPurchase ->getOrderDetail( $_SESSION [ 'order_id' ]); $moba8 = '' ; // moba8用のタグ $affiliateB = '' ; // アフィリエイトB用のタグ $accesstrade = '' ; // アクセストレード foreach ( $arrOrderDetail as $value ) { $moba8 .= '&SI=' . $value [ 'price' ] . '.' . $value [ 'quantity' ] . '.' . $value [ 'price' ]* $value [ 'quantity' ] . '.' . $value [ 'product_id' ]; $affiliateB .= $value [ 'product_id' ] . '.' . $value [ 'quantity' ] . '.' . $value [ 'price' ] . ':' ; $accesstrade .= '&vi=' . $value [ 'product_id' ] . '.' . $value [ 'quantity' ] . '.' . $value [ 'price' ]; } // 必要な値を完了画面に引き渡す $this ->arrMyOrder = array ( 'order_id' => $arrOrder [ 'order_id' ], // 注文番号 'price' => $arrOrder [ 'subtotal' ] - $arrOrder [ 'tax' ], // 小計-消費税 'moba8' => $moba8 , 'affiliateB' => substr ( $affiliateB , 0, -1), 'accesstrade' => $accesstrade , ); } |
アフィリエイトBのタグは、引き渡し用の配列にセットするときに最後の「:」を削除しています。
先ほどと同じく注文詳細の配列を丸ごと渡す方法もありますが、ここでタグを生成した方がテンプレートがすっきりするのでこのようにしてみました。
complete.tplを編集
data/Smarty/templates/default/shopping/complete.tpl
1 | < img src="https://px.moba8.net/svt/sales? async = 1 &PID=プログラムID&SO= <!--{$arrMyOrder.order_id}--> <!--{$arrMyOrder.moba8}--> " width="1" height="1" /> |
1 | < img src="https://track.affiliate-b.com/commit/プロモーションID/ <!--{$arrMyOrder.order_id}--> / <!--{$arrMyOrder.affiliateB}--> " width="1" height="1" /> |
1 | < img src="https://is.accesstrade.net/cgi-bin/isatV2/マーチャント名/isatWeaselV2.cgi?result_id=成果対象ID&verify= <!--{$arrMyOrder.order_id}--> &value= <!--{$arrMyOrder.price}--> <!--{$arrMyOrder.accesstrade}--> " width="1" height="1"> |
先に長いタグを生成して変数にセットしているので、テンプレートでの記述は実にすっきりして我ながらいい感じです。