3

我被要求通过简单地将开箱即用的组件从 /libs/foundation/components/flash 复制到 /apps/myproject/components/flash 来创建 CQ5“覆盖”组件。我的问题是:原件会发生什么 - 它只是被忽略了吗?

4

3 回答 3

6

CQ5“覆盖”利用吊索规则进行资源解析。如果/libs/foundation/components/flash需要覆盖,您可以在位置/apps/foundation/components/flash/文件名“覆盖”相应的文件。 这将改变基础组件在所有实例中的行为方式。现有的 Sidekick 组件仍然存在,但行为不同。

如果您有一个 NEW 组件/apps/myproject/components/flash,它可以通过新组件从基础组件继承sling:resourceSuperType。在这种情况下,您在 Sidekick 中有一个新组件。在您的新组件中,您可以对 , 使用相同的值jcr:titlecomponentGroup或者您可以更改它们以区分 Sidekick 中的组件。如果 title、componentGroups 相同,sidekick 可以通过 webapp (foundation) vs (myproject) 周围的括号来区分它们。但是,我看到了作为作者无法区分它们的情况。

于 2012-11-07T17:15:31.837 回答
2

它没有被忽视。这两个组件都可以出现在作者的伙伴中——一个会说 flash(基础),另一个会说 flash(myproject)。当作者使用其中之一时,CQ 将适当地实例化。通常的规则适用于 Sidekick 中显示的内容(组名、在设计模式中选择等)

于 2012-10-14T03:46:31.657 回答
1

澄清一下:overlay 和 flash 是两个不同的东西。覆盖实现示例:http: //jquerytools.org/documentation/overlay/index.html

因此,如果您被要求创建一个 Overlay 组件,则复制一个 Flash 组件可能不是最好的主意。

于 2012-10-14T12:18:40.773 回答