public function getImagesData(Ess_M2ePro_Model_ListingsProducts $listingProduct)
 {
     if (!$listingProduct->isListingTypeFixed() || !$listingProduct->getListingTemplate()->isVariationMode() || $listingProduct->getMagentoProduct()->isSimpleTypeWithoutCustomOptions()) {
         return array();
     }
     $tempSpecifics = array();
     if ($listingProduct->getMagentoProduct()->isConfigurableType() && $listingProduct->getDescriptionTemplate()->isVariationConfigurableImages()) {
         $attributeCode = $listingProduct->getDescriptionTemplate()->getVariationConfigurableImages();
         $attributeData = $listingProduct->getMagentoProduct()->getProduct()->getResource()->getAttribute($attributeCode)->getData();
         $tempProduct = $listingProduct->getMagentoProduct()->getProduct();
         $configurableAttributes = $tempProduct->getTypeInstance(true)->getConfigurableAttributesAsArray($tempProduct);
         foreach ($configurableAttributes as $configurableAttribute) {
             if ((int) $attributeData['attribute_id'] == (int) $configurableAttribute['attribute_id']) {
                 $tempSpecifics = array($configurableAttribute['label'], $configurableAttribute['frontend_label'], $configurableAttribute['store_label']);
                 break;
             }
         }
     }
     if ($listingProduct->getMagentoProduct()->isGroupedType()) {
         $tempSpecifics = array(Ess_M2ePro_Model_MagentoProduct::GROUPED_PRODUCT_ATTRIBUTE_LABEL);
     }
     $requestData = array('specific' => '', 'images' => array());
     if (count($tempSpecifics) > 0) {
         $productVariations = $listingProduct->getListingsProductsVariations(true);
         foreach ($productVariations as $variation) {
             /** @var $variation Ess_M2ePro_Model_ListingsProductsVariations */
             if ($variation->isDelete()) {
                 continue;
             }
             $productVariationsOptions = $variation->getListingsProductsVariationsOptions(true);
             foreach ($productVariationsOptions as $option) {
                 /** @var $option Ess_M2ePro_Model_ListingsProductsVariationsOptions */
                 $findedSpecific = false;
                 foreach ($tempSpecifics as $tempSpecific) {
                     if ($tempSpecific == $option->getAttribute()) {
                         $findedSpecific = $tempSpecific;
                     }
                 }
                 if ($findedSpecific === false) {
                     continue;
                 }
                 $requestData['specific'] = $findedSpecific;
                 $images = $option->getImagesForEbay();
                 if (count($images) > 0) {
                     $requestData['images'][$option->getOption()] = array_slice($images, 0, 1);
                     //!isset($requestData['images'][$option->getOption()]) && $requestData['images'][$option->getOption()] = array();
                     //$requestData['images'][$option->getOption()] = array_merge($requestData['images'][$option->getOption()],$images);
                     //$requestData['images'][$option->getOption()] = array_unique($requestData['images'][$option->getOption()]);
                     //$requestData['images'][$option->getOption()] = array_slice($requestData['images'][$option->getOption()],0,12);
                 }
             }
         }
     }
     if ($requestData['specific'] == '' || count($requestData['images']) <= 0) {
         return array();
     }
     return $requestData;
 }
示例#2
0
 protected function addSellingFormatData(Ess_M2ePro_Model_ListingsProducts $listingProduct, array &$requestData)
 {
     if ($listingProduct->isListingTypeFixed()) {
         $requestData['listing_type'] = Ess_M2ePro_Model_SellingFormatTemplates::EBAY_LISTING_TYPE_FIXED;
     } else {
         $requestData['listing_type'] = Ess_M2ePro_Model_SellingFormatTemplates::EBAY_LISTING_TYPE_AUCTION;
     }
     $requestData['duration'] = $listingProduct->getDuration();
     $requestData['is_private'] = $listingProduct->getSellingFormatTemplate()->isPrivateListing();
     $requestData['currency'] = $listingProduct->getSellingFormatTemplate()->getCurrency();
     $requestData['hit_counter'] = $listingProduct->getDescriptionTemplate()->getHitCounterType();
 }