Shopify 添加购物车属性。这个属性如何发挥作用?刷新页面后就消失了

问题描述 投票:0回答:2

我在添加到购物车时设置属性。 例如:

var formdata=[
  "items":{
     id:123456,
     quantity:1
     properties:{'flag':true}
   }
];
added using api : /cart/add.js

我从 cart.js 获得的详细信息,无需刷新

response from : /cart/add.js and cart.js
[
    {
        "id": 32423423423423,
        "properties": {
            "flag": true
        },
        "quantity": 1,
        "variant_id": 42705234345345,
    }
]

以上商品已成功添加到购物车。添加后,我再次获取购物车详细信息,它具有此属性值。但是当我刷新页面购物车项目属性时,没有任何值。

Ex 目前,我仅在刷新页面时才收到此信息:

response from cart.js after page refresh
properties:{
   Ref: 0
}

这个属性是什么?

为什么会发生这种情况?如果有效,此属性在创建 Webhook 时是否可用?只有刷新后才会消失。此外,添加此属性的主要原因是按照创建 webhook 的顺序接收此属性,以区别于正常顺序。如果有人有其他选择请建议。

shopify cart
2个回答
0
投票

将产品添加到购物车,如下所示:

fetch('/cart/add.js', {
  method: "post",
  headers: {
    "content-type": "application/json"
  },
  body: JSON.stringify({
    items: [
      {
        quantity: 1,
        id: 33116507373620,
        properties: {
          'flag': true
        }
      }
    ]
  })
})

并像这样获取 cart.js:

fetch('/cart/add.js').then(res => res.json()).then(res => console.log(res))

会给你这样的结果:

{
  ...
  "items": [
    {
      "id": 33116507373620,
      "properties": {
        "flag": true
      },
      "quantity": 1,
      ...
    }
  ],
  ...
}

从那里开始,我不确定你正在做什么才能得到这个结果,因为这是有效的/经过测试的,没有问题。

收到

cart.js
响应后,请仔细检查您是否瞄准了正确的对象。 (没有属性直接对象,在本例中位于
items[0].properties
下)


0
投票

您需要在名称/值结构中表示属性参数,如下所示:

var formdata=[
  items: {
     id: 123456,
     quantity: 1,
     properties: [
       {
         name: "flag",
         value: "true"
       }
     ]
   }
];
© www.soinside.com 2019 - 2024. All rights reserved.