Я використовую Magento CE 1.7.0.2 з SOAPv2 та WS-I. Я намагаюся оновити продукти за допомогою catalogProductUpdate
-Method.
Опис у наведеному нижче прикладі коду оновлюється, але атрибут виробника (= select) не робить. Результатом catalogProductUpdate
є bool(true)
.
Я спробував деякі (не надто хороші, але я відчайдушно ;-)) такі варіанти, як:
- призначити ціле значення 777 для
$manufacturer->value
встановлення значення - всередині / без поля додаткового_розподілу встановіть ідентифікатор продукту (але я впевнений, що його потрібно встановити в межах додаткових_автобусів)
- встановити ім'я виробника як
$manufacturer->value
значення 777
Код:
$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'
));
Редагувати:
- Я тестував його на SOAPv2 без WS-I - працює чудово.
- Я також створив інший атрибут для тестування з тими ж налаштуваннями (Dropdown, Scope, ...), який також не оновлюється з SOAPv2 WS-I, але робить з SOAPv2. Тож ці новостворені атрибути ведуть себе як атрибут виробника.
- Спроба встановити значення текстового поля в межах Additional_attributes також не працює.
Будь-які ідеї, посилання, пропозиції щодо цього?
Посилання: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html