上午,
我们已经在Stackoverflow和Google上搜索了这个解决方案,但仍然没有正确的答案。
我们正在尝试自动设置Base, Small and Thumbnail
上的first uploaded image, so when uploading multiple images the first image will always have all three options checked
选项。
如果有人尝试并成功找到了这个答案和建议,谢谢。
答案 0 :(得分:2)
这很容易。示例here。在root/js/mage/adminhtml/product.js
末尾替换handleUploadComplete
大约120行代码
this.container.setHasChanges();
this.updateImages();
},
updateImages : function() {
与
this.container.setHasChanges();
this.updateImages();
$$('tr#media_gallery_content-image-1 td.cell-image.a-center input')[0].setAttribute('checked','checked');
$$('tr#media_gallery_content-image-1 td.cell-small_image.a-center input')[0].setAttribute('checked','checked');
$$('tr#media_gallery_content-image-1 td.cell-thumbnail.a-center input')[0].setAttribute('checked','checked');
},
updateImages : function() {
上传后享受自动选择第一张图片
答案 1 :(得分:0)
如果您已经上传了图片并需要将第一个设置为thumb / base / small,请尝试this post中的sql命令:
只需按照stereo_world和nhahtdh提供的说明操作,然后刷新缓存。
答案 2 :(得分:0)
感谢Fabian and Doug for the groundwork。我刚刚发布了一个扩展程序,它正是以一种干净的方式完成您的目标:https://github.com/customgento/CustomGento_AutoSelectImages
它只是在管理产品编辑页面上添加了一个JS文件。在JS文件中,包含所提到的方法Product.Gallery.createImageRow
,以便在上载第一张图像后可以选择单选按钮。这是JS“魔术”:
if (typeof Product.Gallery !== 'undefined') {
Product.Gallery.prototype.createImageRow = Product.Gallery.prototype.createImageRow.wrap(function (parentMethod, image) {
// first call the parent method
parentMethod(image);
// auto-select the radio buttons for the first uploaded image
$H(this.imageTypes).each(function (pair) {
if (this.images.length === 1) {
this.getFileElement(image.file, 'cell-' + pair.key + ' input').checked = true;
}
}.bind(this));
this.setProductImages(image.file);
});
}