Sto usando Magento CE 1.7.0.2 con SOAPv2 e WS-I. Sto cercando di aggiornare i prodotti con il catalogProductUpdate
-Method.
La descrizione nell'esempio di codice seguente viene aggiornata, ma l'attributo produttore (= seleziona) no. Il risultato di catalogProductUpdate
è bool(true)
.
Ho provato alcune (non troppo buone, ma sono disperate ;-)) variazioni come:
- assegnare il valore intero 777 per
$manufacturer->value
impostare il valore - entro / senza il campo additional_attributes imposta l'id del prodotto (ma sono sicuro che deve essere impostato in additional_attributes)
- imposta il nome del produttore al
$manufacturer->value
posto del valore 777
Codice:
$newProductData = new stdClass();
$additionalAttrs = array();
$manufacturer = new stdClass();
$manufacturer->key = "manufacturer";
$manufacturer->value = "777";
$additionalAttrs['single_data'][] = $manufacturer;
$newProductData->description = "Description Test1";
$newProductData->additional_attributes = $additionalAttrs;
$result = $client->catalogProductUpdate((object)array('sessionId' => $sessionId,
'productId' => "2110000010058 ",
'productData' => (object)$newProductData,
NULL,
'sku'
));
Modificare:
- L'ho provato con SOAPv2 senza WS-I - funziona benissimo.
- Ho anche creato un altro attributo per i test con le stesse impostazioni (Dropdown, Scope, ...) che non viene aggiornato con SOAPv2 WS-I ma lo fa con SOAPv2. Quindi questi attributi appena creati si comportano come l'attributo del produttore.
- Anche il tentativo di impostare il valore di un campo di testo all'interno degli attributi_attributi non funziona.
Qualche idea, link, suggerimenti su questo?
Link: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html