如何用 cq:editConfig 包装组件
How to wrap a component with a cq:editConfig
我们在 AEM 6.4 SP2 上包装组件时遇到问题:
假设我想扩展 wcm 核心图像组件 (v2) 并创建我自己的包装器组件来扩展功能集。
包装器组件有它自己的 html,并设置 resourceSuperType。此外,还有一个 cq:editConfig(带有此组件资源类型的放置目标)、cq:dialog 和一个 cq:design_dialog(在组件配置中添加了一个选项)。
现在我的包装器组件也进行了版本控制,因为它是被许多其他项目使用的平台项目的一部分。因此,组件组是“.hidden”。
此外,至少有一个项目特定组件 ("extendedImageWrapper") 正在包装我的组件 ("extendedImage")。 extendedImageWrapper 是空的,它只是设置了一个 resourceSuperType,引用了 extendedImage。
允许在可编辑模板中使用 extendedImageWrapper。给定布局容器中的组件有一个策略。
只要我不使用放置目标,一切都正常。
如果您将图像拖放到放置目标中,资源类型将被覆盖并引用 "extendedImage" 而不是 "extendedImageWrapper"。
对于 extendedImage 没有可用的策略,因为它不允许在给定模板中使用。因此 extendedImage 的 SlingModel 中的 currentStyle 为空。
如果我用 crx/de 修复资源类型,事情又能正常工作了...
我现在的问题:
用放置目标包装(可配置的)包装器组件的最佳方法是什么?为包装器创建编辑配置是一个选项,但感觉不对。有什么想法吗?
BR,
奥利弗
有时候把事情写下来会很有帮助..解决方案是:
只是不要为放置目标设置资源类型...
我们在 AEM 6.4 SP2 上包装组件时遇到问题: 假设我想扩展 wcm 核心图像组件 (v2) 并创建我自己的包装器组件来扩展功能集。
包装器组件有它自己的 html,并设置 resourceSuperType。此外,还有一个 cq:editConfig(带有此组件资源类型的放置目标)、cq:dialog 和一个 cq:design_dialog(在组件配置中添加了一个选项)。 现在我的包装器组件也进行了版本控制,因为它是被许多其他项目使用的平台项目的一部分。因此,组件组是“.hidden”。
此外,至少有一个项目特定组件 ("extendedImageWrapper") 正在包装我的组件 ("extendedImage")。 extendedImageWrapper 是空的,它只是设置了一个 resourceSuperType,引用了 extendedImage。
允许在可编辑模板中使用 extendedImageWrapper。给定布局容器中的组件有一个策略。
只要我不使用放置目标,一切都正常。 如果您将图像拖放到放置目标中,资源类型将被覆盖并引用 "extendedImage" 而不是 "extendedImageWrapper"。 对于 extendedImage 没有可用的策略,因为它不允许在给定模板中使用。因此 extendedImage 的 SlingModel 中的 currentStyle 为空。
如果我用 crx/de 修复资源类型,事情又能正常工作了...
我现在的问题: 用放置目标包装(可配置的)包装器组件的最佳方法是什么?为包装器创建编辑配置是一个选项,但感觉不对。有什么想法吗?
BR, 奥利弗
有时候把事情写下来会很有帮助..解决方案是: 只是不要为放置目标设置资源类型...