我被要求通过简单地将开箱即用的组件从 /libs/foundation/components/flash 复制到 /apps/myproject/components/flash 来创建 CQ5“覆盖”组件。我的问题是:原件会发生什么 - 它只是被忽略了吗?
3 回答
CQ5“覆盖”利用吊索规则进行资源解析。如果/libs/foundation/components/flash
需要覆盖,您可以在位置/apps/foundation/components/flash/
文件名“覆盖”相应的文件。 这将改变基础组件在所有实例中的行为方式。现有的 Sidekick 组件仍然存在,但行为不同。
如果您有一个 NEW 组件/apps/myproject/components/flash
,它可以通过新组件从基础组件继承sling:resourceSuperType
。在这种情况下,您在 Sidekick 中有一个新组件。在您的新组件中,您可以对 , 使用相同的值jcr:title
,componentGroup
或者您可以更改它们以区分 Sidekick 中的组件。如果 title、componentGroups 相同,sidekick 可以通过 webapp (foundation) vs (myproject) 周围的括号来区分它们。但是,我看到了作为作者无法区分它们的情况。
它没有被忽视。这两个组件都可以出现在作者的伙伴中——一个会说 flash(基础),另一个会说 flash(myproject)。当作者使用其中之一时,CQ 将适当地实例化。通常的规则适用于 Sidekick 中显示的内容(组名、在设计模式中选择等)
澄清一下:overlay 和 flash 是两个不同的东西。覆盖实现示例:http: //jquerytools.org/documentation/overlay/index.html
因此,如果您被要求创建一个 Overlay 组件,则复制一个 Flash 组件可能不是最好的主意。