2017-11-02 3 views
0

Ich arbeite mit Prestashop 1.6 und habe ein voll funktionierendes Setup mit dem Webservice (API) und Prest5ashop, aber ich habe ein kleines Problem mit dem Warenkorb hinzufügen Mechanismus.Prestashop Webservice: Mehrere Einkaufswagen Zeilen

Grundsätzlich gehe ich, um meinen Warenkorb zu erstellen, aber wenn ich jedes nachfolgende Element mache, füge ich hinzu (cart_row) unter (cart_rows) scheint falsch und wird daher nicht hinzugefügt.

Mein Code ist:

$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 

Also im Grunde in dem obigen Beispiel Produkt 1 wird hinzugefügt, aber 2 und 3 nicht. Als ich in der XML-Antwort von Prestashop sehe ich bemerken dies:

<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> 

ich den zweiten und dritten Artikel hinzugefügt malformed scheinen, aber ich verstehe nicht, warum. Kann jemand aushelfen?

Danke!

Antwort

1

Warum ID-Produkt sind gleich? Gleiche ID-Produkte mit unterschiedlicher Menge werden in mehreren Einkaufswagenzeilen nicht akzeptiert. Es sollte vor dem Senden hinzugefügt werden. Bitte verwenden Sie dort verschiedene ID-Produkte und teilen Sie das Ergebnis.

+0

Das war genau das Problem, vielen Dank. Obwohl der Webdienst keinen gültigen Fehler zurückgegeben hat, war das Problem wiederholte Produkt-IDs. Der Prestashop-Webservice fügt das Produkt nicht hinzu, wenn sich die IDs wiederholen oder nicht gültig sind, und gibt dies auch bei aktiviertem Debug nicht als Fehler zurück. –

Verwandte Themen