Snipcart 通过 JS 添加项目 API
Snipcart add item via JS API
我正在建立一个非常小的电子商务网站来销售可定制的珠宝,所以我有一个图形配置器,可以让您设计珠宝,然后您可以将其添加到购物车。产品应具有 JSON 格式的自定义字段,其中包含项目配置。我看到 Snipcart 有 data-item-custom{x}
个字段,但只填充了下拉菜单...不适合我。
你觉得我可以用 Snipcart 处理这种情况吗?我可以简单地通过 JS 更新 HTML data-item-
字段内容吗?或者通过 JS 将商品添加到购物车?
addToCart({
name: 'Bracelet 1',
customField1: 'JSON HERE'
})
有一个 Javascript API 可用于 Snipcart。
它确实允许动态添加产品,但是,自定义字段的语法略有不同。 The example from the doc for Snipcart.api.items.add
显示如何使用自定义字段(为简洁起见删除了未使用的字段):
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"name": "Memory size",
"options": "16GB|32GB[+50.00]",
"value": "32GB"
}]
});
因此,您可以将数组传递给 customFields
,而不是使用 customFieldX
的扁平化版本。下拉格式仅在您传递 options
时使用。对于您的用例,这将变为:
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"name": "configuration",
"value": "{\"option1\":\"value1\"}" //...
}]
});
但是,向客户显示的自定义字段不适合向他们显示原始 json 数据。要传递隐藏数据,您可以改用 metadata
,它已经期望 JSON 对象:
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"metadata": {
"configuration": "configuration data"
}
});
我正在建立一个非常小的电子商务网站来销售可定制的珠宝,所以我有一个图形配置器,可以让您设计珠宝,然后您可以将其添加到购物车。产品应具有 JSON 格式的自定义字段,其中包含项目配置。我看到 Snipcart 有 data-item-custom{x}
个字段,但只填充了下拉菜单...不适合我。
你觉得我可以用 Snipcart 处理这种情况吗?我可以简单地通过 JS 更新 HTML data-item-
字段内容吗?或者通过 JS 将商品添加到购物车?
addToCart({
name: 'Bracelet 1',
customField1: 'JSON HERE'
})
有一个 Javascript API 可用于 Snipcart。
它确实允许动态添加产品,但是,自定义字段的语法略有不同。 The example from the doc for Snipcart.api.items.add
显示如何使用自定义字段(为简洁起见删除了未使用的字段):
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"name": "Memory size",
"options": "16GB|32GB[+50.00]",
"value": "32GB"
}]
});
因此,您可以将数组传递给 customFields
,而不是使用 customFieldX
的扁平化版本。下拉格式仅在您传递 options
时使用。对于您的用例,这将变为:
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"name": "configuration",
"value": "{\"option1\":\"value1\"}" //...
}]
});
但是,向客户显示的自定义字段不适合向他们显示原始 json 数据。要传递隐藏数据,您可以改用 metadata
,它已经期望 JSON 对象:
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"metadata": {
"configuration": "configuration data"
}
});