如何在 AEM 中的自定义组件上使用子编辑器?

How to use children editor on custom component in AEM?

就像核心中的 Accordion 和 Carousel 组件一样,您可以打开组件对话框并通过单击多字段上的 "add" 按钮添加自定义嵌套组件。我正在尝试将此功能添加到对话框中我的自定义组件。

在我的对话框的 .content.xml 上,我的多字段或子编辑器有这个片段。

<slides
  jcr:primaryType="nt:unstructured"
  sling:resourceType="core/wcm/components/commons/editor/dialog/childreneditor/v1/childreneditor"/>

在这个文件之上,我有

    extraClientlibs=" 
   [my_custom_clientlibs,core.wcm.components.commons.editor.dialog.childreneditor.v1]

问题是当我在我的新组件上点击对话框的添加按钮时,没有弹出任何东西。

我在这里错过了什么?

我认为您缺少将 sling:resourceSuperType = core/wcm/components/carousel/v1/carousel 添加到您的自定义组件。

如果您不想覆盖,请在您的组件 HTL 文件中添加以下代码:

 <sly data-sly-resource="${resource.path @ resourceType='wcm/foundation/components/parsys/newpar', appendPath='/*', decorationTagName='div', cssClassName='new section aem-Grid-newComponent'}"
     data-sly-test="${(wcmmode.edit || wcmmode.preview)}"></sly>

这是因为您在 newpar 中插入了一个子组件。