0
私はprestashop 1.6で作業しており、webservice(api)とprest5ashopで完全に動作する設定をしていますが、カート追加メカニズムには少し問題があります。Prestashop Webservice:複数のカート行
基本的に私はカートを作成するつもりですが、後続のアイテム(cart_rows)の下に(cart_rows)を追加すると、不正な形になって追加されないようです。
私のコードは次のとおり
$product_list = array(
"1" => array("id_product" => "219", "quantity" => "1"),
"2" => array("id_product" => "219", "quantity" => "1"),
"3" => array("id_product" => "219", "quantity" => "3")
);
$i = 0;
foreach ($product_list as $product) {
$xml->cart->associations->cart_rows->cart_row[$i]->id_product = $product['id_product'];
$xml->cart->associations->cart_rows->cart_row[$i]->quantity = $product['quantity'];
$i++;
}
$opt = array('resource' => 'carts');
$opt['postXml'] = $xml->asXML();
echo '<pre>'; print_r($opt); echo '</pre>';
$xml = $webService->add($opt);
$id['cart'] = $xml->cart->id; // ID of created cart
したがって、基本的に上記の例では、生成物1が追加されるが、図2及び図3は、ありません。私はPrestaShopのからのXMLレスポンスを見てみると、私はこれに気づく:
<associations>
<cart_rows>
<cart_row>
<id_product>219</id_product>
<id_product_attribute/>
<id_address_delivery/>
<quantity>1</quantity>
</cart_row>
<cart_row><id_product>219</id_product><quantity>1</quantity></cart_row><cart_row><id_product>219</id_product><quantity>3</quantity></cart_row></cart_rows>
</associations>
私は追加第二と第三の製品は、不正な形式のようですが、私は理由を理解していない見ることができます。誰でも助けてくれますか?
ありがとうございます!
これはまさに問題でした。ありがとうございました。 Webサービスが有効なエラーを返さなかったにもかかわらず、問題は繰り返しの製品IDでした。 IDが繰り返されるか有効でない場合、prestashop webserviceは製品を追加しません。デバッグを有効にしていてもエラーとして返しません。 –