在CQ5中添加自定义图像页面属性

时间:2013-07-11 14:54:23

标签: cq5

CQ5中的每个页面都可以在页面属性中附加图像。我需要添加自己的图像属性以在组件中使用。

我可以使用this link作为复选框添加小内容,但是当我在页面属性中添加新图像选项卡时,即使现有图像也会停止工作。 即使我可以在页面中添加另一个图像对话框,我也无法获取新图像。这是我添加的新图像对话框。 (见附件)

我只是想在旋转木马中使用图像[可能使用以下方式获取它:

Resource r = page.getContentResource("image1");

JCR-structure-of-image-dialog

有人可以帮我这个吗?我至少需要哪些属性才能使其有效?

1 个答案:

答案 0 :(得分:3)

您需要使用xtype smartimage(或此版本,例如html5smartimage)。

以下是一些示例代码,它们将在对话框中添加两个图像 - imageOne imageTwo 。您需要确保新图片的属性与现有图片的属性不冲突 - 即儿童的fileNameParameterfileReferenceParameternamename在下面的示例中,节点resType应该是唯一的。

<items jcr:primaryType="cq:TabPanel">
    <items jcr:primaryType="cq:WidgetCollection">
        <imageOnePanel
                jcr:primaryType="cq:Panel"
                title="Image One Panel">
            <items jcr:primaryType="cq:WidgetCollection">
                <imageOne
                        jcr:primaryType="cq:Widget"
                        border="true"
                        ddGroups="[media]"
                        fileNameParameter="./imageOne/fileName"
                        fileReferenceParameter="./imageOneFileReference"
                        height="300"
                        hideLabel="true"
                        name="./imageOne/file"
                        xtype="html5smartimage">
                    <items jcr:primaryType="cq:WidgetCollection">
                        <resType
                                jcr:primaryType="cq:Widget"
                                ignoreData="{Boolean}true"
                                name="./imageOne/sling:resourceType"
                                value="foundation/components/image"
                                xtype="hidden"/>
                    </items>
                </imageOne>
            </items>
        </imageOnePanel>
        <imageTwoPanel
                jcr:primaryType="cq:Panel"
                title="Image Two Panel">
            <items jcr:primaryType="cq:WidgetCollection">
                <imageTwo
                        jcr:primaryType="cq:Widget"
                        border="true"
                        ddGroups="[media]"
                        fileNameParameter="./imageTwo/fileName"
                        fileReferenceParameter="./imageTwoFileReference"
                        height="300"
                        hideLabel="true"
                        name="./imageTwo/file"
                        xtype="html5smartimage">
                    <items jcr:primaryType="cq:WidgetCollection">
                        <resType
                                jcr:primaryType="cq:Widget"
                                ignoreData="{Boolean}true"
                                name="./imageTwo/sling:resourceType"
                                value="foundation/components/image"
                                xtype="hidden"/>
                    </items>
                </imageTwo>
            </items>
        </imageTwoPanel>
    </items>
</items>

重用对话框中的代码&amp;不提供唯一属性可能会导致您添加第二个图像时出现问题,但我不是100%来自您所看到的错误。