我们可以将文件覆盖到我们的自定义路径吗

时间:2019-06-04 07:29:49

标签: aem

我们可以将文件覆盖到我们的自定义路径吗?还是必须像libs一样将文件覆盖到确切的文件夹结构位置?

例如,我想覆盖constants.js/libs/cq/ui/widgets/source/constants.js)文件,建议在此Adobe中将此文件复制到/apps/cq/ui/widgets/source/constants.js进行覆盖,但是在我的项目中文件夹结构不是在那里,所以我已经复制到apps文件夹中的自定义路径并测试了更改,并且覆盖效果很好。

2 个答案:

答案 0 :(得分:0)

除了用“ apps”替换“ libs”外,该文件必须具有与libs中相同的路径。它不适用于自定义路径*。如果项目尚不具有该结构,则可以随时创建它。不要忘记更新META-INF / Vault / filter.xml文件,以使用项目包定义注册新路径。

*从技术上讲,您可以更改配置以添加新的搜索路径。但是请记住,您可能必须与不同的租户共享AEM实例,并且遵循常规惯例在可预测的设置中大有帮助。老实说,我看不出这样做的原因,将其覆盖在“ / apps”下已经是可以接受的做法。包装上的过滤器提供了足够的灵活性,可以与其他租户相处,同时修改相似的区域。

答案 1 :(得分:0)

我认为您想在 / apps 下的自定义项目中创建叠加层。如果我的假设是正确的,那么您当然可以做到。

考虑到您的示例,可以在 Apache Sling Resource Resolver Factory 配置中添加条目,将/libs/cq/ui/widgets/source/constants.js覆盖到/apps/<your-project>/cq/ui/widgets/source/constants.js

有关详细步骤,请参见this answer。我希望这会有所帮助。