我一直致力于Adobe CQ5.5自定义组件开发。该 我面临的问题是在一个中添加多个拖动和drog图像 要映射到jcr内容的对话框。
答案 0 :(得分:3)
听起来你正试图在一个组件对话框中有两个图像标签。最简单的方法是使用CRXDE lite将图像节点从/ libs / foundation / components / page / dialog / items / tabs / items / image复制到对话框中。
然而,有一个问题。如果您尝试将两个图像放在一个组件对话框中,您会注意到该对话框没有正确显示其中一个图像(可能是任何一个未命名为“图像”的图像)。我遇到了这个问题,除了默认图像之外还添加了页面缩略图。这种不当行为有两个原因。首先,第二个图像的requestSuffix属性必须与第一个不同。您会认为这足以解决问题,而且应该是,但由于某种原因,CQ有助于在(这些特定的)图像内容节点上创建sling:resourceType属性,因此请求仍然无法正确解析在对话框中。在名为“image”的节点的情况下,它似乎是正确推断的,但在任何其他情况下都没有。这意味着您必须手动添加此属性:
sling:resourceType=foundation/components/image
到第二个图像的内容节点。同样,您还需要将图像对话框属性中requestSuffix属性的值更改为其他值,例如:“/ thumbnail.img.png”。缩略图开头的斜线也是必要的。 (默认值为“.img.png” - 默认图像组件似乎得到特殊处理,因此这不是一个明显的修复)
答案 1 :(得分:-1)
使用以下代码在Image组件(/ libs / foundation / components / image)中扩展 dialog.xml ,以在编辑对话框中正确显示第二个图像:
<image
jcr:primaryType="cq:Widget"
cropParameter="./imageCrop"
ddGroups="[media]"
fileNameParameter="./fileName"
fileReferenceParameter="./fileReference"
mapParameter="./imageMap"
name="./file"
requestSuffix=".img.png"
rotateParameter="./imageRotate"
title="Thumbnail"
xtype="html5smartimage"/>
<thumb
jcr:primaryType="cq:Widget"
cropParameter="./thumbImageCrop"
ddGroups="[media]"
fileNameParameter="./thumbFileName"
fileReferenceParameter="./thumbFileReference"
mapParameter="./thumbImageMap"
name="./thumb"
requestSuffix="/thumb.img.png"
rotateParameter="./thumbImageRotate"
title="Image"
xtype="html5smartimage"/>