【问题标题】:How to add Google Analytics code to Drupal 7如何将 Google Analytics 代码添加到 Drupal 7
【发布时间】:2013-01-21 08:49:08
【问题描述】:

我想在不使用该模块的情况下将我的 Google Analytics 代码添加到我的 Drupal 站点。我阅读了与此相关的主题,但无法在我的网站上发布。我想把我的代码放在<head></head> 标签中。这是我的代码:

<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>

【问题讨论】:

  • 有什么特别的原因为什么你想在不使用模块的情况下这样做?
  • 我也很好奇。我看不出不使用模块的理由,但有充分的理由使用模块(例如,如果 Google 分析脚本有任何变化,模块可以更新嵌入式脚本)
  • 如果您想在其他 Google 服务(例如 Search Console)中被验证为网站的所有者,您需要在 head 标记中包含 Google Analytics(分析)代码。

标签: php drupal drupal-7 google-analytics drupal-theming


【解决方案1】:

在您的 Drupal 安装中打开文件夹 modules/system,然后将 html.tpl.php 文件复制到您的主题目录。将您喜欢的代码添加到文件中并保存。

不要忘记清除缓存。

【讨论】:

  • 文件将被复制到MYTHEME/ 目录中?还是在MYTHEME/Templates 里面?因为我在那里找到了我的page.tpl.php
  • 任何地方都可以。这取决于你:)
  • 我现在可以从源代码中看到脚本。我怎么知道我的 javascript 工作正常?谢谢!
  • 从不同的浏览器打开您的网站,然后打开您的 Google Analytics(分析)帐户并查看那里的数据。它应该记录您的访问。
【解决方案2】:

在 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 重命名为您的主题并在完成后清除缓存。

【讨论】:

  • +1。但是为什么从html.tpl.php 获取代码不是很好呢?
  • 谷歌分析给出了一个javascript代码,也许这个代码(javascript)不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多