Я использую Magento CE 1.7.0.2 с SOAPv2 и WS-I. Я пытаюсь обновить продукты с catalogProductUpdate
-Method.
Описание в приведенном ниже примере кода обновляется, а производитель-атрибут (= select) не обновляется. Результатом catalogProductUpdate
является bool(true)
.
Я попробовал некоторые (не слишком хорошие, но я отчаянные ;-)) варианты, такие как:
- назначьте целочисленное значение 777, чтобы
$manufacturer->value
установить значение - в / без поля Additional_attributes задайте идентификатор продукта (но я уверен, что его нужно установить в Additional_attributes)
- установите название производителя
$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