我创建了一个产品,并尝试为他分配组合(颜色/大小)。
但只有第一个组合成功添加!然后我收到内部服务器错误(500)
我使用的是什么:
$combination =
'<?xml version="1.0" encoding="utf-8"?>
<prestashop>
<combination>
<id xmlns=""></id>
<id_product xmlns="">'.$id.'</id_product>
<quantity xmlns="">' . $quantity . '</quantity>
<supplier_reference xmlns="">Inditex</supplier_reference>
<price xmlns="">' . $price . '</price>
<wholesale_price xmlns="">' . $price . '</wholesale_price>
<minimal_quantity xmlns="">1</minimal_quantity>
<default_on xmlns="">1</default_on>
<associations xmlns="">
<product_option_values xmlns="">
<product_option_value><id>'.$color_id.'</id></product_option_value>
<product_option_value><id>'.$size_id.'</id></product_option_value>
</product_option_values>
</associations>
</combination>
</prestashop>';
$response = curlCall($url . '/api/combinations/products/'.$id, $combination, 'POST', $api_key);
$load_string = simplexml_load_string($response);
$combination_id = $load_string->combination->id;
只有当产品没有组合时,该代码才能正常工作。 (color_id和size_id已经过验证,我不会使用相同的ID)
请救我:)
答案 0 :(得分:0)
我使用其他方法,这很好用:
MAX
答案 1 :(得分:0)
对于阅读此问题的其他人来说,方法的改变不是解决方案。问题是你使用的网址。
第一种和第二种方法是一样的,只有不同的方法来构建xml,唯一的区别就是url:
Vs以上。
第一个url不会在Prestashop Web服务中调用有效资源。 我建议使用库https://github.com/PrestaShop/PrestaShop-webservice-lib/blob/master/PSWebServiceLibrary.php来帮助防止出现这种情况。