Używam Magento CE 1.7.0.2 z SOAPv2 i WS-I. Próbuję zaktualizować produkty za pomocą opcji catalogProductUpdate
-Method.
Opis w poniższym przykładzie kodu zostanie zaktualizowany, ale atrybut producenta (= wybierz) nie. Wynik catalogProductUpdate
jest bool(true)
.
Próbowałem (nie za dobrze, ale jestem zdesperowany ;-)) odmian, takich jak:
- przypisz wartość całkowitą 777, aby
$manufacturer->value
ustawić wartość - w polu / bez pola dodatkowe_ atrybuty ustaw identyfikator produktu (ale jestem pewien, że należy je ustawić w ramach dodatkowych atrybutów)
- ustaw nazwę producenta jako
$manufacturer->value
zamiast wartości 777
Kod:
$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'
));
Edytować:
- Testowałem go z SOAPv2 bez WS-I - działa dobrze.
- Stworzyłem również inny atrybut do testowania z tymi samymi ustawieniami (Dropdown, Scope, ...), który również nie jest aktualizowany w SOAPv2 WS-I, ale robi to w SOAPv2. Te nowo utworzone atrybuty zachowują się jak atrybut producenta.
- Próba ustawienia wartości pola tekstowego w dodatkowych atrybutach również nie działa.
Wszelkie pomysły, linki, sugestie na ten temat?
Link: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html