CQ / AEM - clientLibs和绝对URL

时间:2015-01-07 17:16:07

标签: adobe cq5 aem

所以我们正在使用AEM6和Sightly建立一个网站。第三方支持第二个网站,用于在不同的域上进行购票。

第二个网站想要使用我们的页眉,页脚和头部标签来将我们的样式和布局带入他们自己的html包含。使用吊带选择器轻松完成; /home.export-head.html

但是,所有到CSS和JS的链接都是用clientLibs处理的,因此输出相对的URLS。由于导出的标记最终将在不同的域上,我需要将这些更改为绝对URL。

有没有人有经验配置clientLibs输出绝对URL,大概是使用externalize对象?我不想硬编码链接到我的资源。

非常感谢,

威尔

1 个答案:

答案 0 :(得分:2)

您要做的是实现Sling Rewriter管道组件。实际上有一个与开源ACS AEM Commons项目非常相似的东西。 http://adobe-consulting-services.github.io/acs-aem-commons/features/static-reference-rewriter.html上提供的文档。

简而言之,重写器管道组件将页面的HTML作为一系列SAX事件接收。它可以发出不同的 SAX事件,以便在传递之前修改HTML。在这种情况下,您想要重写链接&用于使URL绝对的脚本标记。静态引用重写器是ACS AEM Commons实际上可以按原样用于您的用例;如果不是,那么代码肯定可以根据您的需求进行调整。