Smarty で Google Analytics 携帯版のコードを埋め込む

smarty-logo

Smarty を使ったシステムにGoogle Analytics 携帯版のコードを埋め込みます。当初は {php} タグで埋め込むつもりだったのですが、以下の手順のほうが Smarty 的。

  1. システムの初期化処理部分で
    1. googleAnalyticsGetImageUrl() を定義
    2. Smarty の assign() メソッドで googleAnalyticsGetImageUrl() の戻り値を割り当て
  2. body 要素終了タグ出力用テンプレート内で、上記 1-2 を img 要素の src 属性値として出力

システムの初期化部分のコードは以下のような感じ。

// Copyright 2009 Google Inc. All Rights Reserved.
function googleAnalyticsGetImageUrl() {
	$url = "http://example.com/m";
	$url .= "/ga.php". "?";
	$url .= "utmac=" . "MO-xxxxxxx-x";
	$url .= "&utmn=" . rand(0, 0x7fffffff);
	$referer = $_SERVER["HTTP_REFERER"];
	(中略)
	$url .= "&guid=ON";
	return str_replace("&", "&", $url);
}
// Smarty 変数に割り当て
$o_smarty->assign("gaimgurl", googleAnalyticsGetImageUrl());

body 要素終了タグ出力用テンプレート内のコードは以下のような感じ。

<img src="{$gaimgurl}" />
</body>
スポンサーリンク
レクタングル(大)
レクタングル(大)