Adobe CQ 图像组件文件名

Adobe CQ Image Coponent fileName

我使用 Maven 原型创建了一个新的 Adob​​e CQ 5.6.1 项目,然后创建了一个页面组件,以及一个使用该页面组件作为 sling:resourceTypecq:Page。页面组件有一个

<cq:include path="par" resourceType="foundation/components/parsys" />

并且该标准杆的设计具有属性

components="[/libs/foundation/components/image,/libs/foundation/components/download]"

一切都很好,我可以加载页面,在 Sidekick 中我看到图像和下载组件并且能够将它们拖到 par 中。

问题

当我编辑下载组件时,我 select 我的文件系统中的一个文件被上传到 CRX 并进入 file 节点。此文件节点的父节点得到一个名为 fileName 的 属性,它反映了上传文件的文件名。

当我编辑图像组件时,它的行为方式相同,即从我的文件系统中获取我 select 编辑的文件并将其上传到 file 节点,但是没有 fileName属性集.

查看每个基础组件的对话框,我看到它们有一个 fileNameParameter,但是在 foundation/components/image 的情况下,它被忽略了。我需要保留原始上传 fileName,如何使用 foundation/components/image.

执行此操作

我通过将此 JS 脚本放入 clientlib

扩展了 html5smartimage xtype
var MyAppLib = MyAppLib || {};

MyAppLib.NamedHtml5SmartImage = CQ.Ext.extend(CQ.html5.form.SmartImage, {

    constructor : function(config) {

        config = config || {};
        var defaults = {
            "transferFileName" : true
        };

        CQ.Util.applyDefaults(config, defaults);
        MyAppLib.NamedHtml5SmartImage.superclass.constructor.call(this, config);
    }
});

CQ.Ext.reg("namedhtml5smartimage", MyAppLib.NamedHtml5SmartImage);

然后基于 foundation/components/image 创建了一个新组件并取消了我的 xtype namedhtml5smartimage 以代替对话框选项卡配置中的 html5smartimage