我知道我需要在所有网页的底部添加跟踪代码段,但是有一个中心位置可以执行此操作吗?
或者我是否需要将此跟踪代码添加到我的所有模板中?
我想我可以将片段包装在用户控件或外部.js文件中,并在每个页面上引用它,但是某个地方是否有全局页脚?我正在研究的网站有大约30-40个布局,将它添加到每个布局都会很痛苦!
提前致谢!
答案 0 :(得分:5)
实际上,Sitecore布局的作用正是如此;充当所有单个页面模板“派生”的全局文件。
通常,您会将分析代码粘贴到主布局中,并使用Sitecore子布局/占位符技术构建您需要的各种页面模板。对于您要提供内容的任何设备,您通常不需要超过一个或两个布局。我想对于大多数网站来说,唯一使用的设备是定期的网络内容传送。
话虽如此,您可以做的是让所有布局从公共基类(继承自Page)继承其代码库,并从此处集中注入Google代码。仍然需要您浏览所有布局文件。
答案 1 :(得分:1)
我没有尝试过该模块,我认为这是代码隐藏版本。我在XSLT中做到了这一点,它非常快速且易于制作。我有footer.xslt,我把代码只是检查你站在的页面是否使用我想索引的模板而不属于我想要排除的页面名称。然后,我有一个包含Google Analytics自定义模板的项目,其中包含以下备注字段。 IncludeTemplates -field包含我要包含在分析中的模板列表: ExcludeItemsNames -field,用于按项目名称排除页面
contains($includeTemplates, concat('|',./@template,'|')) and not(contains($excludeItemNames, concat('|',./@template,'|')))
记住@key和@template总是用小写字母
如果您运行多个域,请不要忘记添加pageTracker._setDomainName(“www.example.com”);在分析脚本中,如果他们使用相同的footer.xslt
,您可以将子域等分开答案 2 :(得分: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保留为内容的原因是,客户可以更改分析代码而无需与我们联系。