php magento在购物车中获取捆绑选定的商品

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php magento在购物车中获取捆绑选定的商品相关的知识,希望对你有一定的参考价值。

<?php
//ini_set('memory_limit','10G');
require_once('abstract.php');

class Bundle_Cart_Item_Option_Items extends Mage_Shell_Abstract
{
    /**
     * Entry point
     */
    public function run()
    {
        $selections = array();
        $cart = Mage::getModel('checkout/cart')->getQuote();
        if(!$cart->getAllItems()){
            var_dump('empty cart');
            return;
        }
        foreach ($cart->getAllItems() as $_item) {
            $selections = $this->getBundleOrderItemSelections($_item->getProduct());
        }

        var_dump($selections);
    }

    /**
     * @param $bundleProduct Mage_Catalog_Model_Product
     * @return array
     */
    public function getBundleOrderItemSelections($bundleProduct)
    {
        $selectionSkus = array();
        if($bundleProduct->getTypeId()==='bundle') {
            /** @var Mage_Bundle_Model_Product_Type $instance */
            $instance = $bundleProduct->getTypeInstance(true);

            $customOption = $bundleProduct->getCustomOption('bundle_selection_ids');
            $selectionIds = unserialize($customOption->getValue());

            $selections = $instance->getSelectionsByIds($selectionIds, $bundleProduct);

            foreach ($selections->getItems() as $selection) {
                $selectionSkus[] = $selection->getSku();
            }

        }

        return array_unique($selectionSkus);
    }


}



$ids = new Bundle_Cart_Item_Option_Items();
$ids->run();

以上是关于php magento在购物车中获取捆绑选定的商品的主要内容,如果未能解决你的问题,请参考以下文章

Magento - 以编程方式添加的捆绑产品不适用于购物篮/前端

从 http 切换到 https 时,Magento 会话丢失

php magento选择捆绑

Magento:通过 API 删除产品后更新购物车总数

如何为购物车块实现magento缓存打孔

在 magento 中从购物车中获取没有统一费率的总计