使用 sling:resourceType 的 AEM 对话框在同一个组件对话框中包含两次

问题描述

要求是,在新的组件对话框中,我需要包含两个通用 CTA 配置的选项卡,例如:

enter image description here

目前,我的新组件对话框设置如下:

<h:form role="form" id="formUsuario" enctype="multipart/form-data">
    ...
    <p:panel id="DomFacturacion" class="panel" visible="#{(migracionController.pbDesDatoFacturacion)}">
        ...
            <p:inputText id="callef" class="inputTextForm" value="#{migracionController.psFacNomVialidad}"
                        required="true" rendered="#{(migracionController.pbDesDatoFacturacion)}"/>
        ...
    </p:panel>
    ...
<h:form>

.
.
.

<p:commandButton value="VERIFY INFO" id="showDlgVerif" class="btn" rendered="true" oncomplete="PF('dlgVerif').show();"/>

.
.
.

<p:dialog id="dlgVerif" header="Verify info" class="modal" widgetvar="dlgVerif" modal="true"
              resizable="false" closable="true">
    <p:ajax event="close" listener="#{migracionController.verificarDatosFacturacion()}" update=":formUsuario:DomFacturacion"/>
    <h:form id="dlgFormVerif" rendered="true">
        <input type="hidden" name="${_csrf.parameterName}" id="${_csrf.parameterName}" value="${_csrf.token}"/>
        <p:panel styleClass="panel" rendered="true">
            ...
            <p:inputText styleClass="inputTextForm" id="calle"
                        value="#{migracionController.psNomVialidad}"
                        required="#{!migracionController.pbClteExistente}">
                <!-- the changes are on the below line -->
                <p:ajax event="change" process=":formUsuario:callef" update="calle"/>
            </p:inputText>
            ...
        </p:panel>
    </h:form>
    <p:commandButton styleClass="btnAzul" value="CLOSE" oncomplete="PF('dlgVerif').hide();"/>
</p:dialog>

如您所见,我使用的是 <tab3 jcr:description="Primary CTA items" jcr:primaryType="nt:unstructured" jcr:title="Primary CTA" granite:class="tab-wrapper" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <columns jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns" margin="{Boolean}true"> <items jcr:primaryType="nt:unstructured"> <column jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <cta jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/include" path="myproject/folder/components/commons/cta/content/items/columns/items/column"/> </items> </column> </items> </columns> </items> </tab3> <tab4 jcr:description="Secondary CTA items" jcr:primaryType="nt:unstructured" jcr:title="Secondary CTA" granite:class="tab-wrapper" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <columns jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns" margin="{Boolean}true"> <items jcr:primaryType="nt:unstructured"> <column jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <cta2 jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/include" name="./cta2/" path="myproject/folder/components/commons/cta/content/items/columns/items/column"/> </items> </column> </items> </columns> </items> </tab4>

指向通用 cta 对话框配置 sling:resourceType="granite/ui/components/coral/foundation/container"

问题是,在我构建之后,在 crx/de 中,我只能看到一个节点对象:

enter image description here

我的通用 cta 对话框配置如下所示:

enter image description here

如您所见,如果我使用 sling 资源包含包含 CTA diagloc,它总是给我对象名称 CTA,并且它是重复的,因此新组件中的选项卡 3 和选项卡 4 对话框配置会覆盖彼此的值.

我想知道以前有人遇到过这个问题吗? 最好的解决方案是什么? 一些编码示例会有所帮助 谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)