Saya mencoba membuat produk yang dapat dikonfigurasi yang disebut "Kudos Configurable" dengan opsi bagi pengguna untuk memilih dari hijau kecil, hijau besar, oranye kecil dan oranye besar.
Saya telah sampai pada tahap di mana produk yang dapat dikonfigurasi telah dibuat melalui API menggunakan JSON berikut dalam permintaan PUT ke / rest / V1 / products / KudosConfig.
{
"product":{
"sku":"KudosConfig",
"name":"Kudos Configurable",
"price":30.00,
"status":4,
"type_id":"configurable",
"attribute_set_id":4,
"weight":1,
"extension_attributes":{
"stock_item":{
"qty":10,
"is_in_stock":true
}
}
}
}
Produk anak telah dibuat menggunakan API menggunakan JSON berikut untuk masing-masing dari 4 item dengan atribut untuk ukuran dan warna yang ditetapkan melalui metode yang sama.
{
"product":{
"sku":"KudosConfigGreenSmall ",
"name":"Kudos Configurable Green Small",
"price":30.00,
"status":0,
"type_id":"virtual",
"visibility":1,
"attribute_set_id":4,
"weight":1,
"extension_attributes":{
"stock_item":{
"qty":10,
"is_in_stock":true
}
},
"custom_attributes":[
{
"attribute_code":"kudos_colour",
"value":"328"
},
{
"attribute_code":"kudos_size",
"value":"330"
}
]
}
}
Ini berfungsi dengan baik dan produk dibuat dengan atribut yang ditetapkan dengan benar.
Saya pikir tahap terakhir adalah menggunakan layanan yang dapat dikonfigurasiProductLinkManagementV1 untuk menautkan produk anak tetapi menggunakan permintaan POST ke / rest / V1 / produk yang dapat dikonfigurasi / KudosConfig / child dengan JSON berikut mengembalikan kesalahan permintaan buruk HTTP 400.
{
"childSku":"KudosConfigGreenSmall"
}
Saya berpikir mungkin ada hal lain yang perlu saya lakukan pada produk induk tetapi saya berjuang untuk mencari tahu apa. Di dalam layanan catalogProductRepositoryV1 Anda dapat menambahkan dalam array configurable_product_options, saya sudah mencoba bermain dengan ini tetapi hanya mendapatkan kembali kesalahan permintaan yang buruk.
Siapa pun yang bisa menjelaskan hal ini akan sangat dihargai, sudah menghabiskan waktu terlalu lama untuk ini.
EDIT:
Sekarang telah mencoba menambahkan configureable_product_options ke permintaan PUT produk yang dapat dikonfigurasi, ini sekarang terlihat seperti ini.
{
"product":{
"sku":"KudosConfig",
"name":"Kudos Configurable",
"price":30.00,
"status":4,
"type_id":"configurable",
"attribute_set_id":4,
"weight":1,
"extension_attributes":{
"stock_item":{
"qty":10,
"is_in_stock":true
},
"configurable_product_options":[
{
"attribute__id":"kudos_colour",
"label":"Colour",
"values":[
{
"value_index":340
},
{
"value_index":341
}
]
},
{
"attribute__id":"kudos_size",
"label":"Size",
"values":[
{
"value_index":343
},
{
"value_index":342
}
]
}
]
}
}
}
Ketika saya mencoba ini, saya mendapatkan 400 tanggapan kembali dengan pesan:
Terjadi kesalahan saat menyimpan opsi.
Tidak terlalu membantu ...
Sedikit cepat dari Google menunjukkan bahwa ini adalah masalah https://github.com/magento/magento2/issues/5580 .
Langkah selanjutnya adalah melihat apakah pelanggan senang melakukan retas pada file configurable.php.
EDIT: Sekarang telah mencoba mengubah file yang dapat dikonfigurasi.php tetapi tampaknya tidak membuat perbedaan, masih mendapatkan kesalahan yang sama sehingga bingung lagi.
sumber