public function prepareAssociatedProducts(array $associatedProducts) { if ($this->magentoProduct->isSimpleType() || $this->magentoProduct->isDownloadableType()) { return array($this->magentoProduct->getProductId()); } if ($this->magentoProduct->isBundleType()) { $bundleAssociatedProducts = array(); foreach ($associatedProducts as $key => $productIds) { $bundleAssociatedProducts[$key] = reset($productIds); } return $bundleAssociatedProducts; } if ($this->magentoProduct->isConfigurableType()) { $configurableAssociatedProducts = array(); foreach ($associatedProducts as $productIds) { if (count($configurableAssociatedProducts) == 0) { $configurableAssociatedProducts = $productIds; } else { $configurableAssociatedProducts = array_intersect($configurableAssociatedProducts, $productIds); } } if (count($configurableAssociatedProducts) != 1) { throw new LogicException('There is no associated product found for configurable product.'); } return $configurableAssociatedProducts; } if ($this->magentoProduct->isGroupedType()) { return array_values($associatedProducts); } return array(); }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Ebay_Template_Category_Specific_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->categorySpecificSourceModels[$productId])) { return $this->categorySpecificSourceModels[$productId]; } $this->categorySpecificSourceModels[$productId] = Mage::getModel('M2ePro/Ebay_Template_Category_Specific_Source'); $this->categorySpecificSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->categorySpecificSourceModels[$productId]->setCategorySpecificTemplate($this); return $this->categorySpecificSourceModels[$productId]; }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Play_Listing_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->listingSourceModels[$productId])) { return $this->listingSourceModels[$productId]; } $this->listingSourceModels[$productId] = Mage::getModel('M2ePro/Play_Listing_Source'); $this->listingSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->listingSourceModels[$productId]->setListing($this->getParentObject()); return $this->listingSourceModels[$productId]; }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Buy_Template_NewProduct_Attribute_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->newProductAttributeSourceModels[$productId])) { return $this->newProductAttributeSourceModels[$productId]; } $this->newProductAttributeSourceModels[$productId] = Mage::getModel('M2ePro/Buy_Template_NewProduct_Attribute_Source'); $this->newProductAttributeSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->newProductAttributeSourceModels[$productId]->setNewProductAttributeTemplate($this); return $this->newProductAttributeSourceModels[$productId]; }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Amazon_Template_Description_Specific_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->descriptionSpecificSourceModels[$productId])) { return $this->descriptionSpecificSourceModels[$productId]; } $this->descriptionSpecificSourceModels[$productId] = Mage::getModel('M2ePro/Amazon_Template_Description_Specific_Source'); $this->descriptionSpecificSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->descriptionSpecificSourceModels[$productId]->setDescriptionSpecificTemplate($this); return $this->descriptionSpecificSourceModels[$productId]; }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Ebay_Template_Shipping_Service_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->shippingServiceSourceModels[$productId])) { return $this->shippingServiceSourceModels[$productId]; } $this->shippingServiceSourceModels[$productId] = Mage::getModel('M2ePro/Ebay_Template_Shipping_Service_Source'); $this->shippingServiceSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->shippingServiceSourceModels[$productId]->setShippingServiceTemplate($this); return $this->shippingServiceSourceModels[$productId]; }
/** * @param Ess_M2ePro_Model_Magento_Product $magentoProduct * @return Ess_M2ePro_Model_Ebay_Template_Description_Source */ public function getSource(Ess_M2ePro_Model_Magento_Product $magentoProduct) { $productId = $magentoProduct->getProductId(); if (!empty($this->descriptionSourceModels[$productId])) { return $this->descriptionSourceModels[$productId]; } $this->descriptionSourceModels[$productId] = Mage::getModel('M2ePro/Ebay_Template_Description_Source'); $this->descriptionSourceModels[$productId]->setMagentoProduct($magentoProduct); $this->descriptionSourceModels[$productId]->setDescriptionTemplate($this->getParentObject()); return $this->descriptionSourceModels[$productId]; }