【问题标题】:Get bundle product items in cart of Magento在 Magento 的购物车中获取捆绑产品项目
【发布时间】:2011-10-25 15:19:24
【问题描述】:

请帮助我解决问题。我需要从 magento 的购物车中获取捆绑产品,而不是我需要获取每个捆绑产品的选定项目。我怎样才能做到这一点?谢谢!

【问题讨论】:

  • 您为实现这一目标做了哪些尝试?
  • 我可以获取捆绑产品并且可以获取捆绑产品的所有项目,但是我不知道如何从购物车中获取选定的项目。
  • @AlexSkiLLer 你有想过这个吗?

标签: magento bundle shopping-cart checkout


【解决方案1】:
 $optionCollection = $product->getTypeInstance()->getOptionsCollection();
     $selectionCollection =$product->getTypeInstance()->getSelectionsCollection($product->getTypeInstance()->getOptionsIds());
    $options = $optionCollection->appendSelections($selectionCollection);
   foreach( $options as $option )
    {
        $_selections = $option->getSelections();
        foreach( $_selections as $selection )
        { 
          $product_simple = Mage::getModel('catalog/product')->load($selection->getId()); 
        }
    } 

希望这对你有用。 :)
祝你好运。

【讨论】:

    【解决方案2】:
    $_product = Mage::getModel('catalog/product')->load($_item->getProduct()->getId());
    if($_product->getTypeId()==='bundle') {
            $options = $_item->getProduct()->getTypeInstance(true)->getOrderOptions($_item->getProduct());
            ?>
            <dl class="item-options">
                <?php
                foreach ($options['bundle_options'] as $option) {?>
                    <dt><?php echo $option['label'] ?></dt>
                    <dd><?php echo $option['value'][0]['title'] ?></dd>
                <?php
                }
                ?>
            </dl>
        <?php }
    

    这适用于捆绑项目的输入类型“下拉”

    【讨论】:

      【解决方案3】:

      在 magento 1.8.1 中

          $cart = Mage::getModel('checkout/cart')->getQuote();
          foreach ($cart->getAllItems() as $_item) :
              $_product = Mage::getModel('catalog/product')->load($_item->getProduct()->getId());
              if($_product->getTypeId()==='bundle') :
                  $options = $_item->getProduct()->getTypeInstance(true)->getOrderOptions($_item->getProduct());
                  ?>
                  <dl class="item-options">
                      <?php foreach ($options['bundle_options'] as $option):?>
                          <dt><?php echo $option['label'] ?></dt>
                          <?php foreach ($option['value'] as $sub) :?>
                              <dd><?php echo $sub['qty'] . " x " . $sub['title'] . " " . Mage::helper('core')->currency($sub['price'])  ?></dd>
                      <?php endforeach;
                      endforeach;
                      ?>
                  </dl>
              <?php endif;
      
          endforeach
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-27
        • 1970-01-01
        • 2022-01-22
        • 2013-11-02
        • 1970-01-01
        • 2012-09-14
        • 1970-01-01
        • 2013-10-25
        相关资源
        最近更新 更多