2017-11-02 31 views
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> 

私は追加第二と第三の製品は、不正な形式のようですが、私は理由を理解していない見ることができます。誰でも助けてくれますか?

ありがとうございます!

答えて

1

なぜ同じ製品ですか?数量が異なる同一のID商品は、複数のカート行には受け入れられません。送信する前に追加する必要があります。そこに別のid製品を使用して結果を共有してください。

+0

これはまさに問題でした。ありがとうございました。 Webサービスが有効なエラーを返さなかったにもかかわらず、問題は繰り返しの製品IDでした。 IDが繰り返されるか有効でない場合、prestashop webserviceは製品を追加しません。デバッグを有効にしていてもエラーとして返しません。 –

関連する問題