1

我知道我需要在所有页面的底部添加跟踪代码段,但是否有一个中心位置可以执行此操作?

还是我需要将此跟踪代码添加到我的所有模板中?

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

提前致谢!

4

3 回答 3

5

实际上,Sitecore 布局的作用正是如此;充当所有单个页面模板“派生”的全局文件。

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

话虽如此,您可以做的是让所有布局从一个公共基类(从 Page 继承)继承其代码库,并从这里集中注入谷歌代码。但是,仍然需要您浏览所有布局文件。

于 2009-09-02T12:21:02.917 回答
1

我没有尝试过该模块,我认为那是代码隐藏版本。我在 XSLT 中制作了这个,它非常快速且易于制作。我有footer.xslt,我在其中放置的代码只是检查您所在的页面是否使用我想要索引的模板并且不属于我想要排除的页面名称。然后我有一个带有以下备注字段的 Google Analytics 自定义模板的项目。IncludeTemplates - 字段包含我要包含用于分析的模板列表: ExcludeItemsNames - 用于按项目名称排除页面的字段

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

记住@key 和@template 总是小写字母

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

于 2009-09-18T06:41:49.383 回答
1

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

然后创建一个呈现此设置项内容的 XSLT。类似于(假设该字段在设置项中称为值):

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

您可能需要也可能不需要设置 disable-output-escaping 属性。

然后在您的页面用作模板的 aspx 页面上添加一个查看 xslt 呈现的控件:

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

我们通常将 javascript 保留为内容的原因是,这允许客户更改分析代码而无需联系我们。

于 2009-09-18T12:00:21.610 回答