首次部署后,不会删除对话框中已删除的节点



AEM 6.1:我有一个cq:Dialog节点,结构如下:

+- myDialog
 |- cq:Dialog
  |- content
    |- layout
    |- items
     |- myTab
      |- somethingInside 

我做了一些更改,增加了两件事并删除了myTab.我在代码中有当前的结构:

+- myDialog
 |- cq:Dialog
  |- content
    |- layout
    |- items
     |- myNewTab
     |- myNewestTab

我使用AEM标准打包创建了一个zip包并将其安装在作者身上,然后得到:

 +- myDialog
 |- cq:Dialog
  |- content
    |- layout
    |- items
     |- myTab
      |- somethingInside
     |- myNewTab
     |- myNewestTab

但是,在第二次部署甚至重新安装包后,它会删除myTab节点并且工作正常。是已知的AEM问题还是我在这里做错了什么?

我的_cq_dialog.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"
          xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
          jcr:primaryType="nt:unstructured"
          sling:resourceType="cq/gui/components/authoring/dialog"
          jcr:title="Text &amp; Title">
    <content jcr:primaryType="nt:unstructured"
             sling:resourceType="granite/ui/components/foundation/container">
        <layout jcr:primaryType="nt:unstructured"
                sling:resourceType="granite/ui/components/foundation/layouts/tabs"
                type="nav" />
        <items jcr:primaryType="nt:unstructured">
            <myNewTab jcr:primaryType="nt:unstructured"
                  sling:resourceType="granite/ui/components/foundation/section"
                  jcr:title="New Tab">
                <layout jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns" />
                <items jcr:primaryType="nt:unstructured">
                    <column jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/foundation/container">
                        <items jcr:primaryType="nt:unstructured">
                        </items>
                    </column>
                </items>
            </myNewTab>
            <myNewestTab jcr:primaryType="nt:unstructured"
                  sling:resourceType="granite/ui/components/foundation/section"
                  jcr:title="Newest Tab">
                <layout jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns" />
                <items jcr:primaryType="nt:unstructured">
                    <column jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/foundation/container">
                        <items jcr:primaryType="nt:unstructured">
                        </items>
                    </column>
                </items>
            </myNewestTab>
        </items>
    </content>
</jcr:root>

删除 myTab 节点后可能尚未保存它。因此,当您创建一个包时,它包含所有三个节点,即myTab,myNewTab,myNewestTab。

请注意,您的对话框.xml不包含任何<myTab>元素。因此,如果您重新安装它不会创建 myTab 节点。

通过更多实验再试一次,如果再次发生,请分享。

希望它能解释你的观点。:)

最新更新