如何防止cq:对话继承

时间:2015-09-17 04:10:35

标签: dialog touch aem

我正在迁移经典ui对话框以触摸ui对话框,我迁移了父组件对话框,我观察到AEM也显示了子组件中的父对话框选项卡和属性。在现有的经典ui对话框中,它不会继承父属性,而在触摸ui中则不会。

我们如何通过阻止对话继承来实现触摸ui中相同的经典ui行为。

如果有人有关于此问题的信息,请分享详细信息。

4 个答案:

答案 0 :(得分:14)

您可以使用sling:hideChildren属性隐藏继承的标签和属性。例如,我们假设您要隐藏继承的permissionscloudservices标签,并自定义basicadvanced标签:

...
<items jcr:primaryType="nt:unstructured">
    <tabs
        ...>
        <layout
            .../>
        <items
            jcr:primaryType="nt:unstructured"
            sling:hideChildren="[permissions,cloudservices]">
            <basic
                .../>
            <advanced
                .../>
        </items>
    </tabs>
</items>
...

答案 1 :(得分:8)

可以找到与AEM文档合并的吊索资源here。具体来看一下资源合并属性的文档以及如何操作不同的属性。

资源合并提供以下属性:

sling:hideProperties (String或String []) 指定要隐藏的属性或属性列表。 通配符*隐藏所有。

吊索:hideResource (布尔值) 指示是否应完全隐藏资源,包括其子项。

吊索:hideChildren (String或String []) 包含要隐藏的子节点或子节点列表。将维护节点的属性。 通配符*隐藏所有。

吊带:orderBefore (String) 包含当前节点应位于前面的兄弟节点的名称。

这些属性会影响覆盖/覆盖(通常在/ apps)中对应/原始资源/属性(来自/ libs)的使用方式。

答案 2 :(得分:3)

添加

  

吊索:hideChildren 属性

到子组件的对话框。

您可以将此属性添加到您需要隐藏的特定字段集/标签/字段的直接父级。

<强>语法:

物业名称:吊索:hideChildren

属性类型:字符串或字符串[]

属性值:直接子项的名称,*将它们全部隐藏

示例:

隐藏以下对话框的属性选项卡下的所有字段:

<content
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/container">
    <items jcr:primaryType="nt:unstructured">
        <fixedcolums
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns">
            <items jcr:primaryType="nt:unstructured">
                <properties
                    jcr:primaryType="nt:unstructured"
                    sling:resourceType="granite/ui/components/coral/foundation/container">
                    <items jcr:primaryType="nt:unstructured">
                        <startLevel
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/numberfield"
                            ../>
                        <showHidden
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/checkbox"
                            ../>
                    </items>
                </properties>
            </items>
        </fixedcolums>
    </items>
</content>

将sling:hideChildren属性添加到其直接父节点,即项目(见下文)

<content
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/container">
    <items jcr:primaryType="nt:unstructured">
        <fixedcolums
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns">
            <items jcr:primaryType="nt:unstructured"
                sling:hideChildren="*">
                <properties
                    jcr:primaryType="nt:unstructured"
                    sling:resourceType="granite/ui/components/coral/foundation/container">
                    <items jcr:primaryType="nt:unstructured">
                        <startLevel
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/numberfield"
                            ../>
                        <showHidden
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/checkbox"
                            ../>
                    </items>
                </properties>
            </items>
        </fixedcolums>
    </items>
</content>

只隐藏startLevel字段,将sling:hideChildren属性添加到其直接父节点(见下文)

<content
    jcr:primaryType="nt:unstructured"
    sling:resourceType="granite/ui/components/coral/foundation/container">
    <items jcr:primaryType="nt:unstructured">
        <fixedcolums
            jcr:primaryType="nt:unstructured"
            sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns">
            <items jcr:primaryType="nt:unstructured">
                <properties
                    jcr:primaryType="nt:unstructured"
                    sling:resourceType="granite/ui/components/coral/foundation/container">
                    <items jcr:primaryType="nt:unstructured"
                        sling:hideChildren="startLevel">
                        <startLevel
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/numberfield"
                            ../>
                        <showHidden
                            jcr:primaryType="nt:unstructured"
                            sling:resourceType="granite/ui/components/coral/foundation/form/checkbox"
                            ../>
                    </items>
                </properties>
            </items>
        </fixedcolums>
    </items>
</content>

答案 3 :(得分:1)