php-在Magento中通过SOAP将产品添加到购物车时设置自定义选项

我正在尝试使用shoppingCartProductAdd SOAP API将带有“自定义选项”的产品添加到购物车.

以下是我要传递给products参数的数组.我有一个自定义选项ID 1,在下拉列表中为其选择的值ID为2.(您可以查看product here)

array (size=1)
  0 => 
    array (size=3)
      'product_id' => int 25
      'qty' => int 1
      'options' => 
        array (size=1)
          1 => int 2

该产品被添加到购物车中,但是当我检索购物车详细信息/总计时,它不反映自定义选项.我还手动检查了在sales_flat_quote_item和sales_flat_quote_item_option表中创建的条目,但是行没有任何与自定义选项相关的数据或价格.

我究竟做错了什么?

更新:2013年12月11日

我将自定义选项更改为“必需”.现在,当我尝试上述SOAP请求时,它为我提供了“请指定所需的产品选项”.错误.看起来它只是忽略了数组中的options键.

解决方法:

经过大量调试和摆弄之后,事实证明,“选项”必须作为associativeArray传递,在SOAP术语中,它必须按以下方式定义:

array (size=1)
  0 => 
    array (size=3)
      'product_id' => int 25
      'qty' => int 1
      'options' => 
        array (size=1)
          0 => 
            array (size=2)
              'key' => int 1
              'value' => int 2

有关此格式的更多信息,这里-https://stackoverflow.com/a/8963453/515268

使用这种格式,我能够通过SOAP成功添加带有“自定义选项”的产品.购物车信息和总计中的定价也反映了预期价格.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...