2009-09-01 44 views
1

我知道我需要在我的所有网页的底部添加跟踪代码段,但是是否有中央位置可以执行此操作?如何在Sitecore 6中使用Google Analytics?

或者是否需要将此跟踪代码添加到我的所有模板?

我想我可以将片段包装在用户控件或外部.js文件中,并在每个页面上引用它,但是有没有全局页脚?我正在处理的网站大约有30-40个版面,并且将它们添加到每个版面都会很痛苦!

在此先感谢!

回答

5

实际上,Sitecore布局的作用就是这样;作为所有单个页面模板“派生”的全局文件。

通常情况下,您会将分析代码粘贴到主布局中,并使用Sitecore子布局/占位符技术来构建您所需的各种页面模板。对于任何正在提供内容的设备,您通常不需要超过一个或两个布局。我猜想对于大多数网站来说,唯一使用的设备是常规的网页内容传送。

这就是说,你可以做的是让所有的布局从一个普通的基类继承他们的代码库(从页面继承),并从这里集中注入谷歌代码。但仍然会要求您浏览所有布局文件。

+2

马克说了什么。另外,您可能对Sitecore Google Analytics模块感兴趣(可在此处获得:http://trac.sitecore.net/SitecoreGoogleAnalytics),该模块允许您在Sitecore客户端中指定跟踪代码并访问GA报告。 – Tchami 2009-09-02 12:54:18

1

我还没有试过这个模块,我认为这是codebehind版本。我已经在XSLT中做了这件事,它非常快速且容易制作。我有footer.xslt,在那里我只是简单地检查你所站的页面是否使用我想要编制索引的模板,而不属于我想要排除的页面名称。然后,我为Google Analytics提供一个包含以下备注字段的自定义模板的项目。 IncludeTemplates -field包含的,我想包括分析模板列表: ExcludeItemsNames - 场由项目名称不包括页面

contains($includeTemplates, concat('|',./@template,'|')) and not(contains($excludeItemNames, concat('|',./@template,'|'))) 

记住@key和@Template始终处于小写字母

如果您运行多个域,请不要忘记添加pageTracker._setDomainName(“www.example.com”);在分析脚本中,这样您可以分离子域等,如果它们使用相同的footer.xslt

1

通常我们会将实际的Google代码视为内容。在Sitecore中,我们通常有一个设置文件夹,如/ sitecore/content/settings。这存在于网站的根目录之外。在它下面有一个纯文本字段的设置项,我认为字段类型是备忘录或类似的东西。

然后创建一个呈现此设置项目内容的XSLT。喜欢的东西(假设字段被称为在设定项目值):

<xsl:value-of select="sc:fld('Value','/sitecore/content/settings/footerJavaScript')" /> 

您可能会或可能不会需要设置禁用输出转义属性。

然后你的页面使用的模板添加,看起来在XSLT渲染控制aspx页面上:

<sc:XslFile runat="server" Path="/xsl/footerJavaScript" /> 

即我们通常保持JavaScript作为内容是这样做的原因,允许客户端改变分析代码无需与我们联系。

相关问题