Magento - 如何以编程方式将多个项目添加到购物车?

Ada*_*oss 2 product magento cart

我正在尝试使用如下的查询字符串同时将多个简单产品添加到购物车,但是它只将最后一个产品添加到购物车而不是两者:

有人能让我知道我做错了什么吗?

http://www.domain.co.uk/checkout/cart/add?product=9916&qty=4&product=15749&qty=4
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

http://www.domain.co.uk/checkout/cart/add?product[]=9916&qty[]=4&product[]=15749&qty[]=4
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢!

him*_*nsu 6

使用Querystring将产品添加到购物车

  • 在没有属性的购物车中添加简单产品.
    http://yourserver.com/checkout/cart/add?product=PRODUCT_ID&qty=PRODUCT_QUANTITY
    Run Code Online (Sandbox Code Playgroud) 此处PRODUCT_ID ='产品ID',PRODUCT_QUANTITY ='要购买的产品数量'.
  • 使用单一客户选项将产品添加到购物车中.
    http://yourserver.com/checkout/cart/add?product=PRODUCT_ID&qty=PRODUCT_QUANTITY&super_attribute[OPTION_ID]=OPTION_VALUE
    Run Code Online (Sandbox Code Playgroud) 这里OPTION_ID ='自定义属性选项ID',OPTION_VALUE ='自定义属性选项值'.
  • 使用多重客户选项将产品添加到购物车中.
    http://yourserver.com/checkout/cart/add?product=PRODUCT_ID&qty=PRODUCT_QUANTITY&super_attribute[OPTION_ID_1]=OPTION_VALUE_1&super_attribute[OPTION_ID_2]=OPTION_VALUE_2
    Run Code Online (Sandbox Code Playgroud) 这里OPTION_ID_1&OPTION_ID_1 ='自定义属性选项ids',OPTION_VALUE_1&OPTION_VALUE_2 ='自定义属性选项值'.在`super_attribute`数组中添加更多选项
  • 添加仅包含1个数量的邮件产品的额外产品.
    http://yourserver.com/checkout/cart/add?product=PRODUCT_ID&qty=PRODUCT_QUANTITY&related_product=PRODUCT_ID_1,PRODUCT_ID_2
    Run Code Online (Sandbox Code Playgroud) 此处PRODUCT_ID_1和PRODUCT_ID_2是其他产品ID.使用`,`分隔符通过id添加更多产品.示例: - &related_product = 1,2,3,4.

默认magento没有设置将相关产品数量添加到cart.so如果要添加此代码而不是open app/code/core/Mage/Checkout/controllers/CartController.phpfind public function addAction().

if (!empty($related)) {
                $cart->addProductsByIds(explode(',', $related));
            }
Run Code Online (Sandbox Code Playgroud)

用...来代替

$rel_qty = $this->getRequest()->getParam('related_qty');
            if (!empty($related)) {
                $relatedproducts = explode(',', $related);
                $relatedqtys = explode(',',$rel_qty);
                $i = 0;
                foreach($relatedproducts as $relatedproduct)
                {
                    $cart->addProduct($relatedproduct, array('qty'=>$relatedqtys[$i]));
                $i++;
                }
            }
Run Code Online (Sandbox Code Playgroud)

现在使用查询字符串添加数量相关的产品.

http://yourserver.com/cart/add?product=PRODUCT_ID&qty=PRODUCT_QUANTITY&related_product=PRODUCT_ID_1,PRODUCT_ID_2&related_qty=PRODUCT_ID_1_QUANTITY,PRODUCT_ID_2_QUANTITY
Run Code Online (Sandbox Code Playgroud)