Ich verwende Magento CE 1.7.0.2 mit SOAPv2 und WS-I. Ich versuche, Produkte mit der catalogProductUpdate
-Methode zu aktualisieren .
Die Beschreibung im folgenden Codebeispiel wird aktualisiert, das Herstellerattribut (= select) jedoch nicht. Das Ergebnis von catalogProductUpdate
ist bool(true)
.
Ich habe einige (nicht allzu gute, aber ich bin verzweifelt ;-)) Variationen ausprobiert, wie zum Beispiel:
- Weisen Sie den ganzzahligen Wert 777 zu,
$manufacturer->value
um den Wert festzulegen - innerhalb / außerhalb des Feldes additional_attributes die Produkt-ID festlegen (aber ich bin sicher, dass diese in additional_attributes festgelegt werden muss)
- Stellen Sie den Herstellernamen
$manufacturer->value
anstelle des Wertes 777 ein
Code:
$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'
));
Bearbeiten:
- Ich habe es mit SOAPv2 ohne WS-I getestet - funktioniert gut.
- Ich habe auch ein weiteres Attribut zum Testen mit denselben Einstellungen (Dropdown, Scope, ...) erstellt, das mit SOAPv2 WS-I ebenfalls nicht aktualisiert wird, aber mit SOAPv2. Diese neu erstellten Attribute verhalten sich also wie das Herstellerattribut.
- Der Versuch, den Wert eines Textfeldes innerhalb der additional_attributes festzulegen, funktioniert ebenfalls nicht.
Irgendwelche Ideen, Links, Vorschläge dazu?
Link: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html
quelle