好的,这里可能有很多问题,但也许调试这个问题的一个不错的方法是覆盖 JavaScript Minicart方法以查看它在哪里出错。
在您的模块的 layout.xml 文件中,按照此帖子添加自定义脚本
接下来,Minicart.prototype 有很多功能,console.log(Minicart.prototype);查看它们。
我冒险猜测updateItem方法出了点问题。通过在您的 JS 文件中添加它来覆盖它:
if (typeof Minicart != "undefined") {
Minicart.prototype.updateItem = function(el) {
var cart = this;
var input = $j(this.selectors.quantityInputPrefix + $j(el).data('item-id'));
var quantity = parseInt(input.val(), 10);
cart.hideMessage();
cart.showOverlay();
$j.ajax({
type: 'POST',
dataType: 'json',
url: input.data('link'),
data: {qty: quantity, form_key: cart.formKey}
}).done(function(result) {
cart.hideOverlay();
if (result.success) {
cart.updateCartQty(result.qty);
if (quantity !== 0) {
cart.updateContentOnUpdate(result);
} else {
cart.updateContentOnRemove(result, input.closest('li'));
}
} else {
cart.showMessage(result);
}
}).error(function() {
cart.hideOverlay();
cart.showError(cart.defaultErrorMessage);
});
return false;
};
}
并开始注销它失败的部分。如果这不是导致错误,请尝试另一种方法。
快乐编码!