我正在使用购物车属性将每个产品的额外信息添加到购物车(来自产品页面)。我专门在订单项属性上使用购物车属性,因为客户端需要能够在以后的订单项属性不允许的订单中编辑此信息。
添加信息效果很好,当客户决定从购物车中删除商品时,问题就出现了,因为尽管商品已删除,但购物车属性仍然存在,因为它没有专门与产品相关联(除了我们的命名约定给它。)
那么,有没有办法更新/删除特定的购物车属性?
提前感谢您的回复!
自从引入购物车属性以来,我就一直在使用它们,并在此过程中发现了与它们相关的大部分错误(Shopify 在此过程中修复了这些错误),这让我有足够的信心来告知您这个问题。
要编辑它们,只需向购物车提供用于创建它们的相同密钥,然后更改信息。如果您提供一个空值,您将删除该键。它只是一个键:值存储。顺便说一下,在我的书中可以编辑的订单项也是如此。我设法通过简单地更改键的值来编辑它们,并通过提供行项目索引值,您可能忽略了什么?
无论如何,如果您使用提供的 Shopify Javascript API 代码并检查那个小库,您将看到用于创建属性的函数。稍作改动,您就可以引入自己的购物车属性 CRUD 功能以满足您的需求。
这是一个展示更新购物车属性的旧示例,数据是一个字符串,即)“attributes[fizz]='buzz'(请注意,您可以因此存储 JSON):
updateCartAttributes: function(data, callback) {
var params = {
type: 'POST',
url: '/cart/update.js',
data: data,
dataType: 'json',
success: function(cart) {
if ((typeof callback) === 'function') {
callback(cart);
}
else {
Shopify.api.onCartUpdate(cart);
}
},
error: function(XMLHttpRequest, textStatus) {
Shopify.api.onError(XMLHttpRequest, textStatus);
}
};
$.ajax(params);
}