无法在magento中将可配置产品添加到购物车

时间:2014-11-21 17:21:21

标签: php magento shopping-cart configurable-product

我想在magento中将产品添加到购物车,产品详情为:

type = configurable
product id = 1300
product sku = FCC100
Attribute Code= color
Attribute Label= color
Attribute Id= 152
options value = 28,43
options label = blue,red

这款可配置产品有红色和蓝色两种颜色选项,这个可配置产品有两个简单的产品。

我尝试使用此代码:

 $product = array(
    "product_id" =>"1300",
    "qty" => 2,
    "super_attribute" => array(152 => 28));
    $result = $proxy->shoppingCartProductAdd($sessionID, $cartID, array($product));

但是这段代码给我留言:

  

请指定产品选项

我使用此代码添加简单的产品,它的工作正常:

$result = $proxy->shoppingCartProductAdd($sessionID, $cartID, array(array(
        'product_id' =>   $productID  ,
        'sku' =>  $sku  ,
        'qty' => $qty,
        'options' =>array(0 =>array('key' => $option1id ,'value' => $option1value),1 =>array('key' => $option2id ,'value' => $option2value)),

        'bundle_option' => null,
        'bundle_option_qty' => null,
        'links' => null
        )));    

我的问题在于可配置产品。我尝试添加简单的儿童产品,但这种方式的问题往往是儿童产品没有价格和价格被设置为父产品。 我的代码中有什么问题?有没有办法在不使用API​​的情况下将可配置产品添加到购物车?

这是我在产品页面来源中找到的:

Product.Config({"attributes":{"152":{"id":"152","code":"color","label":"\u0631\u0646\u06af","options":[{"id":"28","label":"\u0622\u0628\u06cc","price":"0","oldPrice":"0","products":["1301"]},{"id":"47","label":"\u0632\u0631\u0634\u06a9\u06cc","price":"0","oldPrice":"0","products":["1302"]}]}},"template":"#{price}\u00a0\u0631\u06cc\u0627\u0644","basePrice":"550000","oldPrice":"550000","productId":"1300","chooseText":"\u0627\u0646\u062a\u062e\u0627\u0628 \u06cc\u06a9 \u06af\u0632\u06cc\u0646\u0647...","taxConfig":{"includeTax":false,"showIncludeTax":false,"showBothPrices":false,"defaultTax":0,"currentTax":0,"inclTaxTitle":"\u0634\u0627\u0645\u0644 \u0645\u0627\u0644\u06cc\u0627\u062a"}});

2 个答案:

答案 0 :(得分:2)

您的数组必须如下所示

$arrProducts = array(
array(
    "product_id" =>"21",
    "qty" => 2,
            "super_attribute" => array(         
                92 => 162

             )
));

答案 1 :(得分:0)

您的$product数组缺少options个键值。

您需要添加options,它应该是一个数组,形式为option_id =>内容根据文档。

$product = array(
              "product_id" => "1300",
              "qty" => 2,
              "options" => array(         
                                152 => 28
                           )
              );

文档:http://www.magentocommerce.com/api/soap/checkout/cartProduct/cart_product.add.html