【问题标题】:Adobe CQ Image Coponent fileNameAdobe CQ 图像组件文件名
【发布时间】:2015-01-13 15:25:12
【问题描述】:

我使用 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 中我看到了 Image 和 Download 组件,并且能够将它们拖到 par 中。

问题

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

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

查看每个基础组件的对话框,我发现它们有一个fileNameParameter,但是在foundation/components/image 的情况下,它只是被忽略了。我需要坚持原来的上传fileName,我怎么能用foundation/components/image做到这一点。

【问题讨论】:

  • 我想我曾经为这个问题向 Adob​​e 提交了一个错误。我不确定,但我认为这取决于您使用的浏览器和上传机制。如果我没记错的话,那是带有 html5 上传器的 Firefox。您可以在覆盖的对话框中设置 useHTML5="{Boolean}false"。

标签: adobe aem


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2014-07-24
    相关资源
    最近更新 更多