我正在尝试在列表组件的对话框上启用子编辑器,以允许用户将自定义组件添加到其中,例如核心中的轮播组件。
我使用 AEM 6.5,sling:resourceSuperType 是核心列表。
我的 .context.xml 组件如下:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root
xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
xmlns:cq="http://www.day.com/jcr/cq/1.0"
xmlns:jcr="http://www.jcp.org/jcr/1.0"
cq:isContainer="{Boolean}true"
jcr:primaryType="cq:Component"
jcr:title="List"
sling:resourceSuperType="core/wcm/components/list/v2/list"
componentGroup="MyContent"
teaserDelegate="thisPackage/components/content/teaser/v1/teaser" />
列表组件的 HTML 文件,名为“list.html”,如下所示:
<sly data-sly-use.list="com.thisPackage.aem.dna.core.models.v1.List"
data-sly-use.template="core/wcm/components/commons/v1/templates.html">
<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>
</sly>
我可以在编辑模式下打开组件的对话框。但是,如果我在对话框中将新组件添加到新的子编辑器并尝试关闭对话框。我无法关闭对话框。错误信息是:
org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session
我按照“github.com/adobe/aem-core-wcm-components/issues/696”中的示例,将editConfig从轮播移动到我的列表组件。但是,它并没有解决问题。
我能做些什么?