我在cs cart中使用cs cart API创建“品牌”功能时遇到问题。
我的用法如下:
$URL= http://example.com/api/products/250
$data = '{"product_features": {"28": {"feature_type": "E", "value": "test"}}}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
// curl_setopt($ch, CURLOPT_HEADER,true);
$result=curl_exec($ch);
curl_close($ch);
$re = json_decode($result,true);
print_r($re);
在响应中获取"product_id“,但没有添加任何功能。我再次检查了功能id,它是正常的。请帮我整理一下这个问题,谢谢!
发布于 2020-01-30 17:50:07
使用CS-Cart API中的产品功能有点棘手,因为他们没有提供足够的文档。
“品牌”是一个带有"E“类型(扩展)的特征,每个品牌都是不同的”变体“,在你更新之前,你应该知道每个品牌的"variant_id”。
下面是一个小示例,您的数据应该是什么样子。
$feature_id = 'ID_OF_BRAND_FEATURE';
$brand_id = 'VARIANT_ID_OF_YOUR_BRAND';
$product_data = [
'status' => 'A' // Just some param when you update
];
$product_features = [
$feature_id => [
'feature_id' => $feature_id,
'feature_type' => 'E',
'variant_id' => $brand_id,
]
];
$product_data['product_features'] = $product_features;
您可以使用这个CS-Cart API包装器来简化您的工作,https://github.com/drahosistvan/cscartapi
https://stackoverflow.com/questions/46578010
复制相似问题