EC-CUBEにグーグルアナリティクス携帯版を突っ込んでみる | 裏tagbouz

裏tagbouz

WEBやってるtagbouzの、
時には仕事、時には遊び、大体はくだらない。
そんなどうでもいいブログです。

おおお久しぶりに書く。
でも前置きはおいておこう。
本題。

Google Analyticsの携帯対応ってことでEC-CUBEに入れてみたけど
一筋縄ではいかなかったので備忘録として残します。

まず参考にさせてもらったのは、以下の2サイト様。
ありがとうございます。
EC-CUBEにGoogle Analytics Mobileを使う場合・・・
ECcubeのSmartyでPHPを使う

簡潔にいきます。


1.携帯用のトラッキングコードの用意。
 取得の仕方はわかると思いますが一応・・・
 【アナリティクス設定】から【ステータスの確認】で下のほうの
 トラッキングタグのところで【アドバンス】
 で、こんな画面。①・②は見えにくいけど気にしない。
 後で出てきます。

裏tagbouz



2.①のタグを以下のファイルに書く。けど、ちょっと変更する箇所あり。
 記述ファイル・・・
  /data/Smarty/templates/テンプレディレクトリ/mobile/site_frame.tpl
  の、<html>の上のところに書く。これはグーグル先生の言うとおり。
<!--{php}-->
function googleAnalyticsGetImageUrl() {
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "あなたのトラッキングコード";
$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";
return str_replace("&", "&", $url);
}
<!--{/php}-->
 一応!マークは全角になっているので注意。
 ホントは半角です。
 赤太字の箇所が変更箇所。
 <?php ~ ?>をEC-CUBE用に変更して、
 $GA_ACCOUNT・$GA_PIXELをfunctionの中に入れました。



3.②のタグを以下のファイルに書く。けど、ちょっと変更する箇所あり。
 記述ファイル・・・
  /data/Smarty/templates/テンプレディレクトリ/mobile/site_main.tpl
  の</body>の直前に書く。これも先生の言うとおり。
<!--{php}-->
$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
print ("<img src='" . $googleAnalyticsImageUrl . "' />");
<!--{/php}-->
 同じく赤字が変更箇所。
 imgタグをprintで出力しちゃおってことです。



4.で、参考サイトに有るように、data/class/SC_MobileImage.phpをいじります。

foreach ($images[1] as $key => $value) {
$converted = $imageConverter->execute(preg_replace('|^' . URL_DIR . '|', HTML_PATH, $value));
if (preg_match('|/ga.php|', $value)) continue;
if (isset($converted['outputImageName'])) {
$buffer = str_replace($value, MOBILE_IMAGE_URL . '/' . $converted['outputImageName'], $buffer);
} else {
$buffer = str_replace($images[0][$key], '', $buffer);
}
}

 全体的にコードが長いんで見切れているところがありますからご注意ください。
 赤太字が追加箇所です。95行目ぐらいにあります。




以上、あとは変更ファイルをアップロードして、
トラッキングが上がることを祈るのみ。

ぼくも今これやったんで上がるかどうかわかんないwww