public function getItems() { if (!Mage::helper('udsplit')->isActive()) { return parent::getItems(); } $q = $this->getQuote(); $a = $q->getShippingAddress(); $methods = array(); $details = $a->getUdropshipShippingDetails(); if ($details) { $details = Zend_Json::decode($details); $methods = isset($details['methods']) ? $details['methods'] : array(); } $quoteItems = $q->getAllVisibleItems(); Mage::helper('udropship/protected')->prepareQuoteItems($a->getAllItems()); $vendorItems = array(); foreach ($quoteItems as $item) { $vendorItems[$item->getUdropshipVendor()][] = $item; } $rates = array(); $qRates = $a->getGroupedAllShippingRates(); foreach ($qRates as $cCode => $cRates) { foreach ($cRates as $rate) { $vId = $rate->getUdropshipVendor(); if (!$vId) { continue; } $rates[$vId][$cCode][] = $rate; } } $items = array(); $dummyProduct = Mage::getModel('catalog/product'); foreach ($vendorItems as $vId => $vItems) { if (!Mage::getStoreConfigFlag('carriers/udsplit/hide_vendor_name')) { $items[] = Mage::getModel('udsplit/cart_vendor')->setPart('header')->setQuote1($q)->setData('product', $dummyProduct)->setVendor(Mage::helper('udropship')->getVendor($vId)); } foreach ($vItems as $item) { $items[] = $item; } $errorsOnly = false; if (!empty($rates[$vId])) { $errorsOnly = true; foreach ($rates[$vId] as $cCode => $rs) { // $hasRates = false; foreach ($rs as $r) { if (!$r->getErrorMessage()) { // $hasRates = true; $errorsOnly = false; } } // if (!$hasRates) { // unset($rates[$vId][$cCode]); // } } } $items[] = Mage::getModel('udsplit/cart_vendor')->setPart('footer')->setData('product', $dummyProduct)->setVendor(Mage::helper('udropship')->getVendor($vId))->setEstimateRates(isset($rates[$vId]) ? $rates[$vId] : array())->setErrorsOnly($errorsOnly)->setShippingMethod(isset($methods[$vId]) ? $methods[$vId] : null)->setItems($vItems)->setQuote1($q); } return $items; }
public function getItems() { if ($this->getCustomItems()) { return $this->getCustomItems(); } $items = parent::getItems(); if (!Mage::getStoreConfigFlag('uniquequoteitem/display/separate_line_items')) { Mage::helper('uniquequoteitem')->joinLineItems($items); } return $items; }
/** * Items for prescription payment * @return array Items that can be paid via prescription */ public function getItems() { $itemsOld = parent::getItems(); $items = Mage::getSingleton('prescriptionpayment/prescriptionpayment')->getReducedItems($itemsOld); return $items; }