コード例 #1
0
 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();
 }
コード例 #2
0
ファイル: Specific.php プロジェクト: ppkowalski/M2E
 /**
  * @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];
 }
コード例 #3
0
ファイル: Listing.php プロジェクト: ppkowalski/M2E
 /**
  * @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];
 }
コード例 #4
0
 /**
  * @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];
 }
コード例 #5
0
 /**
  * @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];
 }
コード例 #6
0
ファイル: Service.php プロジェクト: ppkowalski/M2E
 /**
  * @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];
 }
コード例 #7
0
 /**
  * @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];
 }