Saya menggunakan Magento CE 1.7.0.2 dengan SOAPv2 dan WS-I. Saya mencoba memperbarui produk dengan catalogProductUpdate
-Metode.
Deskripsi dalam contoh kode di bawah ini diperbarui, tetapi atribut pabrikan (= pilih) tidak. Hasilnya catalogProductUpdate
adalah bool(true)
.
Saya mencoba beberapa variasi (tidak terlalu bagus, tapi saya putus asa ;-)) seperti:
- menetapkan nilai integer 777 untuk
$manufacturer->value
mengatur nilai - di dalam / tanpa bidang penambahan_atribut atur id produk (tapi saya yakin itu perlu diatur dalam penambahan_atribut)
- atur nama pabrikan sebagai
$manufacturer->value
ganti nilai 777
Kode:
$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'
));
Edit:
- Saya mengujinya dengan SOAPv2 tanpa WS-I - berfungsi dengan baik.
- Saya juga membuat atribut lain untuk pengujian dengan pengaturan yang sama (Dropdown, Scope, ...) yang juga tidak diperbarui dengan SOAPv2 WS-I tetapi dilakukan dengan SOAPv2. Jadi atribut yang baru dibuat ini berperilaku sebagai atribut produsen.
- Mencoba mengatur nilai bidang teks di dalam penambahan_attributes juga tidak berfungsi.
Adakah ide, tautan, saran tentang ini?
Tautan: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.update.html