前回に引き続き、次はGoogleAnalyticsの導入。
直接書いてもいいんだけど、とりあえずヘルパーに突っ込んた。
vendorにそのままいれるほうがいいのかな。
ちゃんと動いてるみたい。
直接書いてもいいんだけど、とりあえずヘルパーに突っ込んた。
vendorにそのままいれるほうがいいのかな。
■APP/views/helpers/ga.php
公式のサンプルソースをヘルパー用に書き換え。
<?php
class GaHelper extends Helper {
private $GA_ACCOUNT="MO-XXXXXX-X";
private $GA_PIXEL="/ga.php";
function getUrl() {
$url = "";
$url .= $this->GA_PIXEL . "?";
$url .= "utmac=" . $this->GA_ACCOUNT;
$url .= "&utmn=" . rand(0, 0x7fffffff);
$referer = isset($_SERVER["HTTP_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);
}
}
?>
■APP/controllers/app_controller.php
すべてのページで出すから、app_controllerで宣言。
<?php
class AppController extends Controller {
var $helpers = array('ga');
■APP/views/layouts/main.ctp
メインのレイアウトのbodyタグ上に書く。<html> <head></head> <body> ・ ・ <?php $googleAnalyticsImageUrl = $ga->getUrl(); ?> <img src="<?php echo $googleAnalyticsImageUrl; ?>" /> </body> </html>
■APP/webroot/ga.php
あとはGAの管理画面からDLできるga.phpをwebrootに置いて準備完了。ちゃんと動いてるみたい。

コメント
コメント一覧 (2)
私はHelperを作ってしまうより、bootstrapに突っ込んだ方が良いのかなと思ったので、これから試してみようと思います。
どこに置こうか迷ってたので、参考にさせていただきます!