Adobe CQ Image Component fileName

时间:2015-01-13 15:25:12

标签: adobe cq5 aem

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

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

并且该par的设计具有属性

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

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

问题

当我编辑下载组件时,我从文件系统中选择一个文件,该文件将上传到CRX进入file节点。此文件节点的父节点获取一个名为fileName的属性,该属性反映了上载文件的文件名。

当我编辑Image组件时,它采用从我的文件系统中选择的文件并将其上传到file节点的行为方式相同,但是没有设置fileName属性。 / p>

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

1 个答案:

答案 0 :(得分:0)

我通过将此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