aem - AEM 中组件的覆盖/覆盖与扩展

标签 aem

<分区>

扩展组件和覆盖组件有什么区别。有人可以从开发人员的角度解释一下吗。

最佳答案

叠加组件:

通过将基础组件复制到您的项目并根据需要对其进行修改来创建自定义组件。 例如,您将图像组件从 “/libs/foundation/components/image” 复制到您的站点文件夹 “/apps/testsite/components”,这样您就创建了一个新组件与图像组件完全相同。 复制后,您可以根据需要对组件进行更改。但是这种方法的问题是,如果您要升级 CQ,那么新版本的 CQ 可能会新实现 “/libs/foundation/components/image” 组件,而这些更改不会反射(reflect)在你的“/apps/testsite/components/image”组件, 因此您必须在自定义组件中手动进行这些更改。

扩展/覆盖组件:

通过创建所有必要的节点并将 “sling:resourceSuperType” 属性的值设置为 “/libs/foundation/components/image”。通过这样做你继承了图像组件的所有特性,即使升级后你仍然继承了图像组件的特性。

关于aem - AEM 中组件的覆盖/覆盖与扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42358287/

相关文章:

osgi - 当匹配的运行模式数相同时,将应用哪个配置

aem - tracker.js 直接点击调度程序 URL?怎么解决呢?

单击复选框时,AEM 中的 Javascript 添加类

docker - 为AEM创建Docker文件时,我被拒绝了权限

java - JMX:从服务器读取属性

jar - 为什么AEM作为war文件?

javascript - 使用 Javascript Use API 获取标签列表

java - 为什么吊索 :OsgiConfig node not working in/etc/folder in AEM?

java - ResourceResolverFactory 为 NULL (Adobe Experience Manager AEM)

java - 除了模板特定从搜索中排除页面之外,还有其他替代方法吗