gpt4 book ai didi

javascript - 单击一次按钮即可将多个产品添加到购物车 - NopCommerce

转载 作者:行者123 更新时间:2023-11-29 19:07:13 25 4
gpt4 key购买 nike

我目前正在 NopCommerce 上进行组合报价。所以我需要一次单击将多个产品添加到购物车。内置的 NopCommerce 格式用于将单个产品添加到购物车是

AjaxCart.addproducttocart_catalog('/addproducttocart/catalog/' + productId + '/1/1'

AjaxCart.addproducttocart_details('/addproducttocart/details/' +productId + '/1', '#product-details-form')

它们都可以很好地添加单一产品。但是当我想添加多个产品时,它只会将单个产品添加到购物车中。提到我正在发送一个带有逗号分隔值的字符串,它是产品列表,在 Javascript 中它被解析为单个产品 ID。但是,它仅在购物车中添加单个产品。该产品添加到购物车的最低产品 ID。

这是我的一段javascript代码

function addComboProductToCart(ids) {
var arrayOfStrings = ids.split(',');
for (var i = 0; i < arrayOfStrings.length; i++) {
AjaxCart.addproducttocart_catalog('/addproducttocart/catalog/' + arrayOfStrings[i] + '/1/1');
}
}

但它也没有显示任何错误。那么问题出在哪里呢?

最佳答案

首先你需要改变 public.ajaxcart.js 如下,因为每个 Add to Cart 都有一个 ajax 调用,我们需要设置它 async:false 为此,您必须添加一个名为 async 的参数,以便更清楚地查看下面的代码

//add a parameter async
addproducttocart_catalog: function (urladd,async) {
if (this.loadWaiting != false) {
return;
}
this.setLoadWaiting(true);

$.ajax({
cache: false,
async:async,
url: urladd,
type: 'post',
success: this.success_process,
complete: this.resetLoadWaiting,
error: this.ajaxFailure
});
},

现在我修改了你的函数,只添加了一个参数 false

function addComboProductToCart(ids) {
var arrayOfStrings = ids.split(',');
for (var i = 0; i < arrayOfStrings.length; i++) {

AjaxCart.addproducttocart_catalog('/addproducttocart/catalog/' + arrayOfStrings[i] + '/1/1',false);

}
}

要了解 async:false 正在做什么,请查找 this answer以及更多的说明

如果您需要任何进一步的帮助,请告诉我。

关于javascript - 单击一次按钮即可将多个产品添加到购物车 - NopCommerce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com