Google Analytics 携帯用コードをEC-CUBEに埋め込む方法
blog
| 2月 2012 | ||||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 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 | 28 | 29 | |||
Google Analytics 携帯用コードをEC-CUBEに埋め込む方法
Google Analytics が正式に携帯へ対応したので、早速EC-CUBEに導入してみましょう。
PC用のコードは JavaScript になっているので、Google Analytics の管理画面で表示されるコードをテンプレートに貼り付けるだけで動作しました。
しかし、携帯用のコードは PHP になっているので、EC-CUBEのテンプレートに貼り付けるには少し手を加えなければなりません。
いろいろ方法はありますが、今回は携帯用画面の表示に使用される SC_MobileView クラスをカスタマイズします。
data/class/SC_View.php を開くと、一番下に SC_MobileView クラスが記述されています。
class SC_MobileView extends SC_SiteView {
function SC_MobileView() {
parent::SC_SiteView();
$this->_smarty->template_dir = MOBILE_TEMPLATE_DIR;
$this->_smarty->compile_dir = MOBILE_COMPILE_DIR;
}
}class SC_MobileView extends SC_SiteView {
function SC_MobileView() {
parent::SC_SiteView();
$this->_smarty->template_dir = MOBILE_TEMPLATE_DIR;
$this->_smarty->compile_dir = MOBILE_COMPILE_DIR;
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "MO-XXXXXXXX-X"; // アカウントナンバーを記入
$GA_PIXEL = "/ga.php";
$url = "";
$url .= $GA_PIXEL . "?";
$url .= "utmac=" . $GA_ACCOUNT;
$url .= "&utmn=" . rand(0, 0x7fffffff);
$referer = $_SERVER["HTTP_REFERER"];
$query = $_SERVER["QUERY_STRING"];
$path = $_SERVER["REQUEST_URI"];
if (empty($referer)) {
$referer = "-";
}
$url .= "&utmr=" . urlencode($referer);
if (!empty($path)) {
$url .= "&utmp=" . urlencode($path);
}
$url .= "&guid=ON";
$this->_smarty->assign('googleAnalyticsImageUrl', str_replace("&", "&", $url));
}
}次に、 data/Smarty/templates/テンプレート名/mobile/footer.tpl へ以下のコードを追加します。
<img id="ga" src="<!--{$googleAnalyticsImageUrl}-->" />
このままだと、EC-CUBEの機能によって画像が自動的に変換されてしまうため、変換の対象から上記のイメージタグを外すよう、該当機能を変更します。
data/class/SC_MobileImage.php の以下の部分を変更します。
// HTML中のIMGタグを取得する
$pattern = '/<img\s+[^<>]*src=[\'"]?([^>"\'\s]+)[\'"]?\s*\/?/i';
$result = preg_match_all($pattern, $buffer, $images); // HTML中のIMGタグを取得する
$pattern = '/<img\s+[^<>(id=\'ga\')]*src=[\'"]?([^>"\'\s]+)[\'"]?\s*\/?/i';
$result = preg_match_all($pattern, $buffer, $images);あとは、html ディレクトリに ga.php を配置すれば、携帯ページの解析が始ります。
