Пример #1
1
 private function initializeQuoteItems()
 {
     foreach ($this->proxyOrder->getItems() as $item) {
         $this->clearQuoteItemsCache();
         /** @var $quoteItemBuilder Ess_M2ePro_Model_Magento_Quote_Item */
         $quoteItemBuilder = Mage::getModel('M2ePro/Magento_Quote_Item');
         $quoteItemBuilder->init($this->quote, $item);
         $product = $quoteItemBuilder->getProduct();
         $request = $quoteItemBuilder->getRequest();
         // ----------------------------
         $productOriginalPrice = (double) $product->getPrice();
         $price = $item->getBasePrice();
         $product->setPrice($price);
         $product->setSpecialPrice($price);
         // ----------------------------
         // see Mage_Sales_Model_Observer::substractQtyFromQuotes
         $this->quote->setItemsCount($this->quote->getItemsCount() + 1);
         $this->quote->setItemsQty((double) $this->quote->getItemsQty() + $request->getQty());
         $result = $this->quote->addProduct($product, $request);
         if (is_string($result)) {
             throw new Exception($result);
         }
         $quoteItem = $this->quote->getItemByProduct($product);
         if ($quoteItem !== false) {
             $weight = $product->getTypeInstance()->getWeight();
             if ($product->isConfigurable()) {
                 // hack: for child product weight was not load
                 $simpleProductId = $product->getCustomOption('simple_product')->getProductId();
                 $weight = Mage::getResourceModel('catalog/product')->getAttributeRawValue($simpleProductId, 'weight', 0);
             }
             $quoteItem->setStoreId($this->quote->getStoreId());
             $quoteItem->setOriginalCustomPrice($item->getPrice());
             $quoteItem->setOriginalPrice($productOriginalPrice);
             $quoteItem->setBaseOriginalPrice($productOriginalPrice);
             $quoteItem->setWeight($weight);
             $quoteItem->setNoDiscount(1);
             $giftMessageId = $quoteItemBuilder->getGiftMessageId();
             if (!empty($giftMessageId)) {
                 $quoteItem->setGiftMessageId($giftMessageId);
             }
             $quoteItem->setAdditionalData($quoteItemBuilder->getAdditionalData($quoteItem));
         }
     }
 }
Пример #2
0
 /**
  * Initialize quote items objects
  *
  * @throws Exception
  */
 private function initializeQuoteItems()
 {
     foreach ($this->proxyOrder->getItems() as $item) {
         $this->clearQuoteItemsCache();
         /** @var $quoteItemBuilder Ess_M2ePro_Model_Magento_Quote_Item */
         $quoteItemBuilder = Mage::getModel('M2ePro/Magento_Quote_Item');
         $quoteItemBuilder->init($this->quote, $item);
         $product = $quoteItemBuilder->getProduct();
         $request = $quoteItemBuilder->getRequest();
         // see Mage_Sales_Model_Observer::substractQtyFromQuotes
         $this->quote->setItemsCount($this->quote->getItemsCount() + 1);
         $this->quote->setItemsQty((double) $this->quote->getItemsQty() + $request->getQty());
         $result = $this->quote->addProduct($product, $request);
         if (is_string($result)) {
             throw new Exception($result);
         }
         $quoteItem = $this->quote->getItemByProduct($product);
         if ($quoteItem !== false) {
             $quoteItem->setOriginalCustomPrice($item->getPrice());
             $quoteItem->setNoDiscount(1);
             $quoteItem->setGiftMessageId($quoteItemBuilder->getGiftMessageId());
             $quoteItem->setAdditionalData($quoteItemBuilder->getAdditionalData($quoteItem));
         }
     }
 }
Пример #3
0
 /**
  * Initialize quote items objects
  *
  * @throws Exception
  */
 private function initializeQuoteItems()
 {
     foreach ($this->proxyOrder->getItems() as $item) {
         /** @var $quoteItemBuilder Ess_M2ePro_Model_Magento_Quote_Item */
         $quoteItemBuilder = Mage::getModel('M2ePro/Magento_Quote_Item');
         $quoteItemBuilder->setQuoteBuilder($this)->setProxyItem($item);
         $product = $quoteItemBuilder->getProduct();
         $request = $quoteItemBuilder->getRequest();
         $this->quote->setItemsCount($this->quote->getItemsCount() + 1);
         $this->quote->setItemsQty((double) $this->quote->getItemsQty() + $request->getQty());
         $result = $this->quote->addProduct($product, $request);
         if (is_string($result)) {
             throw new Exception($result);
         }
         $quoteItem = $this->quote->getItemByProduct($product);
         if ($quoteItem !== false) {
             $quoteItem->setOriginalCustomPrice($quoteItemBuilder->getChannelCurrencyPrice());
             $quoteItem->setNoDiscount(1);
             $quoteItem->setGiftMessageId($quoteItemBuilder->getGiftMessageId());
             $quoteItem->setAdditionalData($quoteItemBuilder->getAdditionalData($quoteItem));
         }
     }
 }