source/Application/Model/Basket.php
protected function _getBasketBundles($aBundles = [])
    {
        $aDiscounts = \OxidEsales\Eshop\Core\Registry::get(\OxidEsales\Eshop\Application\Model\DiscountList::class)->getBasketBundleDiscounts($this, $this->getBasketUser());

        // calculating amount of non bundled/discount items
        $dAmount = 0;
        foreach ($this->_aBasketContents as $oBasketItem) {
            if (!($oBasketItem->isBundle() || $oBasketItem->isDiscountArticle())) {
                $dAmount += $oBasketItem->getAmount();
            }
        }

        foreach ($aDiscounts as $oDiscount) {
            if ($oDiscount->oxdiscount__oxitmartid->value) {
                if (!isset($aBundles[$oDiscount->oxdiscount__oxitmartid->value])) {
                    $aBundles[$oDiscount->oxdiscount__oxitmartid->value] = 0;
                }

                $aBundles[$oDiscount->oxdiscount__oxitmartid->value] += $oDiscount->getBundleAmount($dAmount);
            }
        }

        return $aBundles;
    }
protected function _getBasketBundles($aBundles = [])
    {
        $aDiscounts = \OxidEsales\Eshop\Core\Registry::get(\OxidEsales\Eshop\Application\Model\DiscountList::class)->getBasketBundleDiscounts($this, $this->getBasketUser());

        // calculating amount of non bundled/discount items
        $dAmount = 0;
        foreach ($this->_aBasketContents as $oBasketItem) {
            if (!($oBasketItem->isBundle() || $oBasketItem->isDiscountArticle())) {
                $dAmount += $oBasketItem->getAmount();
            }
        }

        foreach ($aDiscounts as $oDiscount) {
            if ($oDiscount->oxdiscount__oxitmartid->value) {
                if (!isset($aBundles[$oDiscount->oxdiscount__oxitmartid->value])) {
                    $aBundles[$oDiscount->oxdiscount__oxitmartid->value] = 0;
                }

                $aBundles[$oDiscount->oxdiscount__oxitmartid->value] += $oDiscount->getBundleAmount($dAmount);
            }
        }

        return $aBundles;
    }
protected function _getBasketBundles ( $ aBundles = [ ] ) { $ aDiscounts = \ OxidEsales \ Eshop \ Core \ Registry :: get ( \ OxidEsales \ Eshop \ Application \ Model \ DiscountList :: class ) -> getBasketBundleDiscounts ( $ this , $ this -> getBasketUser ( ) ) ; // calculating amount of non bundled/discount items $ dAmount = 0 ; foreach ( $ this -> _aBasketContents as $ oBasketItem ) { if ( ! ( $ oBasketItem -> isBundle ( ) || $ oBasketItem -> isDiscountArticle ( ) ) ) { $ dAmount += $ oBasketItem -> getAmount ( ) ; } } foreach ( $ aDiscounts as $ oDiscount ) { if ( $ oDiscount -> oxdiscount__oxitmartid -> value ) { if ( ! isset ( $ aBundles [ $ oDiscount -> oxdiscount__oxitmartid -> value ] ) ) { $ aBundles [ $ oDiscount -> oxdiscount__oxitmartid -> value ] = 0 ; } $ aBundles [ $ oDiscount -> oxdiscount__oxitmartid -> value ] += $ oDiscount -> getBundleAmount ( $ dAmount ) ; } } return $ aBundles ; }
Returns array of bundled discount articles for whole basket

@param array $aBundles array of found bundles

@return array
Returns array of bundled discount articles for whole basket