我的产品没有任何变种。我可以更新非变量值,但由于某种原因,我无法更新价格,这是一个(看似必需的)变体的一部分。
$data = array(
'product' => array(
'id' => $id,
'title' => $title,
'body_html' => $description,
'tags' => $tags,
'variants' => array(array(
'id' => $variant_id,
'product_id' => $id,
'price' => $price))
)
);
$url = "https://$api_key:$api_pass@example.myshopify.com/admin/products/$id.json";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
curl_close($curl);
$result = json_decode($result);
print_r($result);
标题,正文和标签更新正常但价格却没有。我比较了原始产品json,看起来很好。我做错了什么?
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
我只是想出来,如果你还没有(我知道我在这个派对上迟到了)
我也无法更新单个商品的价格,但是如果我有一个与该商品相关联的变体,我可以引用该ID,并更新价格。唯一需要注意的是,您需要在所有产品上使用变体(这对我来说并不理想)。
另外,我看到你在变体中声明了两个数组,这是不必要的。
看起来像这样
$data = array(
'product' => array(
'id' => "Product ID Here",
'title' => $title,
'body_html' => $description,
'tags' => $tags,
'variant'=> array(
'id' => "Variant ID Here",
'price' => "199.99"
)
)
);