我想重写product.js文件添加一些functions.I一些额外的值必须从JS /法师/ adminhtml / product.js将文件复制到我的文件夹一样的js / MyFolder中/ myproduct.js.How我可以使用该文件的功能,因为我尝试它不适合我的工作。当我改变对象名称比它会显示没有错误,但没有happend (Products.Gallery = Class.create()
原单是Product.Gallery = Class.create() )。 谁能告诉我如何使用myProduct的所有功能,而没有原始funcitons的冲突。
谢谢
比方说,你要重写function loadImage
从js/mage/adminhtml/product.js
产品编辑页面。
创建自定义JS: js/myfolder/myproduct.js
:
Product.Gallery.addMethods({
loadImage : function(file) {
alert('hi there');
var image = this.getImageByFile(file);
this.getFileElement(file, 'cell-image img').src = image.url;
this.getFileElement(file, 'cell-image img').show();
this.getFileElement(file, 'cell-image .place-holder').hide();
}
});
参考: http://prototypejs.org/learn/class-inheritance.html
然后在你的布局文件添加自定义的JS:
<adminhtml_catalog_product_edit>
<reference name="head">
<action method="addJs"><script>myfolder/myproduct.js</script></action>
</reference>
</adminhtml_catalog_product_edit>
使用这种方法, function loadImage
将只如果包括你的覆盖js/myfolder/myproduct.js
。
PS:确保js/myfolder/myproduct.js
之后包括js/mage/adminhtml/product.js
(虽然它是像在默认情况下,因为js/mage/adminhtml/product.js
列入<default>
标签)