删除目标问题

时间:2013-07-23 13:52:00

标签: cq5

我刚刚开始使用Adobe CQ5并正在努力让我的第一个自定义组件滚动...我发现了一个我无法弄清楚的错误,希望有人可以对它有所了解。

基本上,我已经定义了一个自定义图像和相关的拖放区域,但无法弄清楚如何做占位符图像。所以我这样做了:

<%
    if (leftImage != null && leftImage.hasContent()) { leftImage.draw(out); }
    else { leftImage.setSelector(".img"); out.print("<img class=\"" + DropTarget.CSS_CLASS_PREFIX + "panelLeftImage" + "\" src=\"http://placehold.it/300x300\" />"); }
%>

一旦进入组件编辑对话框并单击“确定”,它似乎正常工作,但是当您尝试在页面加载时删除图像而未进入对话框时,资源无法解析而您得到一个破碎的图像图形。尽管如此,正确突出显示了放置目标。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

对于下一个任性的旅行者......我能够解决这个问题 - 最终。

我的JSP现在看起来更像这样:

<%
    Image leftImage = new Image(resource, "panelLeftImage");
    leftImage.addCssClass(DropTarget.CSS_CLASS_PREFIX + "panelLeftImage");
    leftImage.setSelector(".img");
    leftImage.setDoctype(Doctype.fromRequest(request));

    if (leftImage != null && leftImage.hasContent()) { leftImage.draw(out); }
    else { out.print("<img class=\"" + DropTarget.CSS_CLASS_PREFIX + "panelLeftImage" + "\" src=\"http://placehold.it/460x200\" />"); }
%>

为对话框中的每个图像面板冲洗并重复使用不同的名称。

cq:dropTargets CRXDE Lite节点中,您需要为每个图像创建一个主节点,一个子参数节点,然后为该组件中的所有可用图像创建子节点。

例如,如果你有一个leftImage和rightImage,它看起来像这样(将JSON解释为一个小的属性映射):

  • <强> CQ:dropTargets

    • leftImage { "accept": "image.*", "groups": "media", "jcr:primaryType": "cq:DropTargetConfig", "propertyName": "./leftImage/fileReference" }

      • 参数 { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "pathToYourComponent" }
        • leftImage { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "foundation/components/image" }
        • rightImage { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "foundation/components/image" }
    • rightImage { "accept": "image.*", "groups": "media", "jcr:primaryType": "cq:DropTargetConfig", "propertyName": "./rightImage/fileReference" }

      • 参数 { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "pathToYourComponent" }
        • leftImage { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "foundation/components/image" }
        • rightImage { "jcr:primaryType" : "nt:unstructured", "sling:resourceType": "foundation/components/image" }

不要问我为什么会这样,只是这样。