我将Magento CE 1.7.0.2与SOAPv2和WS-I结合使用。我正在尝试使用catalogProductUpdate
-Method 更新产品。
下面的代码示例中的描述已更新,但制造商属性(= select)未更新。的结果catalogProductUpdate
是bool(true)
。
我尝试了一些(不太好,但我很拼命;-)),例如:
- 分配整数值777来
$manufacturer->value
设置值 - 在extra_attributes字段之内/之外,设置产品ID(但我确定需要在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'
));
编辑:
- 我使用不带WS-I的SOAPv2进行了测试-正常工作。
- 我还创建了另一个用于测试的属性,它们具有相同的设置(Dropdown,Scope等),该属性也不会随SOAPv2 WS-I一起更新,但会随SOAPv2一起更新。因此,这些新创建的属性充当制造商属性。
- 尝试在Additional_attributes中设置文本字段的值也不起作用。
有任何想法,链接,建议吗?
链接:http: //www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html