我正在建立一个非常小的电子商务网站来出售可定制的珠宝,因此我有一个图形配置器,可让您设计珠宝并将其添加到购物车中。产品应具有JSON格式的自定义字段,其中包含商品配置。我看到Snipcart有product_id_to_name
个字段,但仅填充了下拉菜单……不适合我。
您认为我可以使用Snipcart处理这种情况吗?我可以简单地通过JS更新HTML non_mapped_products
字段内容吗?还是通过JS将商品添加到购物车?
data-item-custom{x}
答案 0 :(得分:1)
Snipcart有一个Javascript API。
它确实允许动态添加产品,但是自定义字段的语法略有不同。 Snipcart.api.items.add
的{{3}}展示了如何使用自定义字段(为简洁起见,删除了未使用的字段):
Snipcart.api.items.add({
"id": "SMARTPHONE",
"name": "Smartphone",
"url": "/",
"price": "399.00",
"customFields": [{
"name": "Memory size",
"options": "16GB|32GB[+50.00]",
"value": "32GB"
}]
});
因此,您可以将数组传递给customFieldX
,而不是使用customFields
进行展平。仅当您传递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"
}
});