Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用CQ5服务组件将Html代码片段添加到每个页面_Java_Google Analytics_Components_Aem_Google Tag Manager - Fatal编程技术网

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

Java 如何使用CQ5服务组件将Html代码片段添加到每个页面,java,google-analytics,components,aem,google-tag-manager,Java,Google Analytics,Components,Aem,Google Tag Manager,为了获得谷歌标签管理器数据,我们需要在每个页面中添加谷歌提供的代码 我不想手动将代码添加到CQ中的每一个页面组件中,因为可以创建许多模板,这就变成了手动作业 相反,我想在每次加载页面时将HTML代码添加到我的页面中 我可以使用服务组件(java类)实现这一点吗 如果没有,请提供任何替代方案来实现这一点 您应该使用继承来实现这一点。 通常我们会得到一个所谓的“抽象”或“基本”模板,它或多或少地扩展了基础页面模板,而其他模板都可以从中获得全局代码片段。 您也可以将此“全局”代码放入抽象模板内的单独j

为了获得谷歌标签管理器数据,我们需要在每个页面中添加谷歌提供的代码

我不想手动将代码添加到CQ中的每一个页面组件中,因为可以创建许多模板,这就变成了手动作业

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

我可以使用服务组件(java类)实现这一点吗


如果没有,请提供任何替代方案来实现这一点

您应该使用继承来实现这一点。 通常我们会得到一个所谓的“抽象”或“基本”模板,它或多或少地扩展了基础页面模板,而其他模板都可以从中获得全局代码片段。 您也可以将此“全局”代码放入抽象模板内的单独jsp中,并允许人们在某些扩展模板中覆盖/禁用该功能(如果100%的扩展模板不需要该功能)。
使用这个模板,您通常可以使用您正在创建的所有其他模板中的基础组件作为RealuthUpType,您可以这样做:-(<

),如克莱斯勒所建议的,您可以为此使用继承。或者,如果您非常确定几乎所有页面都需要此google tag manager代码,请将代码放入页眉/页脚组件中,假设您在所有模板中使用页眉/页脚。

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


但我想知道的是,是否有其他替代方案,其中我不必在模板的组件上托管此代码,并且用户可以决定要跟踪或不跟踪哪个页面,而用户可能不具备编码知识

考虑到最近的帖子,如果我可以解释的话,您的要求是,“我希望所有页面都自动包含Google Tag Manager代码,但作者不需要的页面除外。”在这种情况下,您可以在每个页面上选择某种形式的组件实例,其中组件的dialog.xml有一个简单的包含GTM/不包含GTM复选框。或者,您可以使用页面属性或CQ5标记。在任何情况下,作者都必须勾选或不勾选该框。

请编辑您的原始问题,以包含有关您需求的信息。