Пример #1
0
 public function getShippingAddressItems($a)
 {
     if (!Mage::helper('udsplit')->isActive()) {
         return parent::getShippingAddressItems($a);
     }
     $q = $this->getCheckout()->getQuote();
     $methods = array();
     $details = $a->getUdropshipShippingDetails();
     if ($details) {
         $details = Zend_Json::decode($details);
         $methods = isset($details['methods']) ? $details['methods'] : array();
     }
     $aItems = $a->getAllVisibleItems();
     $vendorItems = array();
     foreach ($aItems as $item) {
         $item->setQuoteItem($q->getItemById($item->getQuoteItemId()));
         $vendorItems[$item->getUdropshipVendor()][] = $item;
     }
     $items = array();
     foreach ($vendorItems as $vId => $vItems) {
         $obj = Mage::getModel('udsplit/cart_vendor')->setQuote($q)->setProduct(new Varien_Object());
         if (!Mage::getStoreConfigFlag('carriers/udsplit/hide_vendor_name')) {
             $items[] = $obj->setQuoteItem(Mage::getModel('udsplit/cart_vendor')->setPart('header')->setVendor(Mage::helper('udropship')->getVendor($vId)));
         }
         foreach ($vItems as $item) {
             if ($item->getParentItemId()) {
                 continue;
             }
             $items[] = $item;
         }
         #echo "<pre>"; print_r($rates[$vId]); echo "</pre>";
         $obj = Mage::getModel('udsplit/cart_vendor')->setQuote($q)->setProduct(new Varien_Object());
         $items[] = $obj->setQuoteItem(Mage::getModel('udsplit/cart_vendor')->setPart('footer')->setVendor(Mage::helper('udropship')->getVendor($vId))->setShowDropdowns(false)->setEstimateRates(array())->setErrorsOnly(false)->setShippingMethod(isset($methods[$vId]) ? $methods[$vId] : null)->setItems($vItems)->setAddress($a)->setQuote1($q));
     }
     return $items;
 }