我想在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"}});
答案 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