Magento 一次订单提交多个不同尺寸和颜色的产品

Magento 一次订单提交多个不同尺寸和颜色的产品,magento,Magento,我正在寻找一个提供多种尺寸和颜色的产品,并允许客户在一个页面上选择不同的尺寸和颜色(以及每种颜色的数量),并提交一次向购物车添加多种变体 示例:客户想要订购 10 Small Black shirts 10 Medium Black shirts 20 Large Black shirts 5 Small White shirts 5 Medium White shirts 10 Large Black shirts 他们在“产品视图”页面的网格视图中输入数字,然后单击提交一次,一次向购物车添

我正在寻找一个提供多种尺寸和颜色的产品,并允许客户在一个页面上选择不同的尺寸和颜色(以及每种颜色的数量),并提交一次向购物车添加多种变体

示例:客户想要订购

10 Small Black shirts
10 Medium Black shirts
20 Large Black shirts
5 Small White shirts
5 Medium White shirts
10 Large Black shirts
他们在“产品视图”页面的网格视图中输入数字,然后单击提交一次,一次向购物车添加60个产品


我已经查找了为购买或免费而创建的附加组件和mod,但找不到任何附加组件和mod。

我编写了这样一个主题。我的做法是使用简单的产品。如您所建议的,构建一个页面,该页面具有一个HTML表单,供用户指示哪个产品id和数量,然后让该表单向自定义控制器提交一个包含{product\u id:qty}对的JSON POST,然后可以从POST恢复产品id=>qty对,然后循环$cart->addProduct($product$request);对于帖子中的每个对象

因此,在自定义控制器中,您可以从以下内容获取
$product\u id=>$qty
数组

$lolo_skusToAdd = $this->getRequest()->getParam('skuJson',false);
$testArray = json_decode($lolo_skusToAdd, true);

//...

  foreach($testArray as $sku=>$qty){
    //Mage_Checkout_Model_Cart->addProduct() wants quantity as a Varien Object
    $request = new Varien_Object(array('qty' => $qty));

    //...    

    $eventArgs = array(
                 'product' => $product,
                 'qty' => $qty,
                 'additional_ids' => array(),
                 'request' => $this->getRequest(),
             'response' => $this->getResponse(),
                 ); 

    Mage::dispatchEvent('checkout_cart_before_add', $eventArgs);

    try{

        $cart->addProduct($product,$request);
        Mage::dispatchEvent('checkout_cart_after_add', $eventArgs);

        //...
我遗漏了很多代码。我的控制器有点凌乱,实际上专门用于定制情况:它使用ajax接收帖子并返回成功消息或失败消息


我希望这给了你一些正确的方向。如果您这样做,您应该阅读普通的“添加到购物车”控制器,了解“默认Magento”如何将产品添加到购物车,并在您的自定义控制器中模拟,以便您可以包括所有Mage::dispatchEvents()和$cart->save()以及会话消息更新等

我认为您可以自定义可配置产品的视图逻辑