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; }
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(); }