我正在尝试使用SOAP v1 cart_product.add添加具有自定义选项的产品
F214
所有内容看起来都是oke的,但仍给出错误致命错误:未捕获SoapFault exception: 1022请指定产品所需的选项。
以下是PHP代码
$shoppingCartIncrementId = $proxy->call( $sessionId, 'cart.create',array( 2 ));
$arrProducts = array(
'product_id' => '1497',
'quantity' => 1,
'options' => array (
0 => array(
'key' => 2296,
'value' => '1001'
)
)
);
print "<pre>";
print_r($arrProducts);
print "</pre>";
$resultCartProductAdd = $proxy->call(
$sessionId,
"cart_product.add",
array(
$shoppingCartIncrementId,
array($arrProducts),
2
)
);
这是我的数组结果如下:
Array
(
[product_id] => 1497
[quantity] => 1
[options] => Array
(
[0] => Array
(
[key] => 2296
[value] => 1001
)
)
)
我是不是遗漏了什么?我的数组正确吗?
请帮帮忙,谢谢
发布于 2014-10-03 09:15:46
在深入研究核心文件之后,我发现了问题所在,并找到了一种简单的修补方法。
问题是,"cart_product.add“/ "shoppingCartProductAdd”的SOAP接受一组产品选项和带有键" options“的超级属性,正如您在上面所做的那样,但是准备要添加到购物车中的产品的代码使用键"super_attribute”查找此信息。为了打补丁,我只需将"options“数组复制到cart_product.add应用程序接口中的"super_attribute”数组。
我把补丁文件放在这里,这可能会有帮助:https://github.com/mezzi/magento-api-patches/blob/master/0001-fix-soap-api-configurable-product-options.patch
发布于 2019-02-22 05:34:42
经过多次摆弄和阅读其他帖子,我发现以下方法适用于Magento1.8和SOAP v1中的自定义产品(下面Mezzi建议的"super_attribute“修复似乎不再有效):
$arrProducts[$j] =
array (
'product_id' => "$productID",
'quantity' => "$quantity_item",
'options' =>
array (
$option_ID => $option_value)
);
https://stackoverflow.com/questions/23758037
复制相似问题