2013-01-21 21 views
7

モジュールを使用せずに自分のGoogleアナリティクスコードを自分のDrupalサイトに追加したいとします。私はこれに関連するスレッドを読むが、私は自分のウェブサイトでそれを作ることはできない。自分のコードを<head></head>タグの中に入れたいと思います。その後、あなたのテーマのディレクトリにhtml.tpl.phpファイルをコピーし、あなたのDrupalでGoogleアナリティクスコードをDrupal 7に追加する方法

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXX-X']); 
    _gaq.push(['_setDomainName', 'example.com']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script> 
+2

モジュールを使用せずに何か特別な理由をしたいのですか? –

+0

私も好奇心が強いです。モジュールを使用しない理由がわかりません。モジュールを使用する理由があります(たとえば、Googleアナリティクススクリプトに変更があると、モジュールは埋め込みスクリプトを更新できます) – Isaac

+1

他のGoogleサービス(Search Consoleなど)のサイトの所有者であれば、Googleアナリティクスのコードを 'head'タグの中に入れる必要があります。 – maciek

答えて

11

フォルダを開くmodules/systemインストールします。ここに私のコードです。好きなコードをファイルに追加して保存します。

キャッシュをクリアすることを忘れないでください。

+0

ファイルは 'MYTHEME /'ディレクトリの中にコピーされますか?または 'MYTHEME/Templates'の中に?私の 'page.tpl.php'が見つかりました。 –

+0

どこでもいいです。それはあなた次第です:) –

+0

私はソースからスクリプトを見ることができます。私のjavascriptがどのように動作するのか分かりますか?タスン! –

7

Drupalサイトでは、template.phpファイルのTHEME_preprocess_html関数内にdrupal_add_js関数を使用して、追加のjavascriptを挿入します。そうすることで、サイトを適切にキャッシュすることができます。具体的には、次のようになります。

<?php 
    function THEME_preprocess_html(&$variables) { 

     $ga = "var _gaq = _gaq || [];\n"; 
     $ga .= "_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);\n"; 
     $ga .= "_gaq.push(['_setDomainName', 'example.com']);\n"; 
     $ga .= "_gaq.push(['_trackPageview']);\n"; 
     $ga .= "(function() {\n"; 
     $ga .= " var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n"; 
     $ga .= " ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n"; 
     $ga .= " var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n"; 
     $ga .= "})();\n"; 

     drupal_add_js($ga, array('type' => 'inline', 'scope' => 'header')); 
    } 
?> 

UA IDとウェブサイト名は、自分で置き換えてください。また、THEMEの名前をテーマに変更し、完了したらキャッシュをクリアしてください。

+0

+1。しかし、なぜ 'html.tpl.php'からコードを取得するのはあまり良くありませんか? –

+0

google analyticsはjavascriptコードを提供しますが、多分このコード(javascript)は動作しません。 –

関連する問題