如何使用CQ5服务组件将Html代码段添加到每个页面中

时间:2014-10-13 13:38:08

标签: java google-analytics components cq5 google-tag-manager

要获取Google代码管理器数据,我们需要将google提供的代码添加到每个页面中。

我不想手动将代码添加到CQ中的每个页面组件,因为可以创建大量模板并将其变为手动作业。

相反,我想在每次加载页面时将HTML代码添加到我的页面中。

我可以使用服务组件(java类)实现此目的。

如果没有请,请提供任何替代方案来实现此目的。

4 个答案:

答案 0 :(得分:0)

你应该使用继承来实现这个目标。 通常我们得到一个所谓的“抽象”或“基础”模板,它或多或少地扩展了创建页面模板,每个其他模板都可以从中获得一些全局代码的信息。 您可以将此“全局”代码放入抽象模板中的单独jsp中,并允许人们在某些扩展模板中覆盖/禁用该功能(如果在100%的模板中不需要),也可以选择。 以你通常在创建的每个其他模板中使用基础组件作为resourceSuperType的方式使用此模板,然后你去: - )

答案 1 :(得分:0)

正如克莱斯勒所建议的那样,你可以使用继承。或者,如果您非常确定在几乎所有页面中都需要此google标记管理器代码,则将代码放在页眉/页脚组件中,假设您在所有模板中使用页眉/页脚。

答案 2 :(得分:0)

感谢您的回复。我知道这种实现形式,其中您创建父页面模板,然后通过sling:resourceSuperType在所有子模板中引用它。

但我想知道的是,如果还有其他选择,我不必在模板的组件上托管此代码,用户可以决定他想跟踪哪个页面,谁可能没有编码知识。

答案 3 :(得分:0)

考虑到最近的帖子,您的要求,如果我可以解释,说,"我希望自动将Google跟踪代码管理器代码包含在所有页面中,除非在作者不想要的页面上。 #34;在这种情况下,您的选项是每个页面上的某种形式的组件实例,其中组件的dialog.xml具有简单的包含GTM /不包括GTM复选框。或者,您可以使用页面属性或CQ5标记。在任何情况下,作者都必须选中复选框。