我使用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
执行此操作。
答案 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
。