Ejemplo n.º 1
0
 public function getRequestData(Ess_M2ePro_Model_Listing_Product $listingProduct, array $params = array())
 {
     if ($listingProduct->getMagentoProduct()->isProductWithoutVariations()) {
         return array();
     }
     if (!$listingProduct->getChildObject()->isListingTypeFixed()) {
         $listingProduct->addAdditionalWarningMessage('The product was listed as a simple product as it has limitation for multi-variation items. ' . 'Reason: listing type "auction" does not support multi-variations.');
         return array();
     }
     if ($listingProduct->getChildObject()->getEbaySellingFormatTemplate()->isIgnoreVariationsEnabled()) {
         $listingProduct->addAdditionalWarningMessage('The product was listed as a simple product as it has limitation for multi-variation items. ' . 'Reason: ignore variation option is enabled in selling format policy.');
         return array();
     }
     if (!$listingProduct->getChildObject()->getCategoryTemplate()->isVariationEnabled()) {
         $listingProduct->addAdditionalWarningMessage('The product was listed as a simple product as it has limitation for multi-variation items. ' . 'Reason: eBay primary category allows to list only single items.');
         return array();
     }
     $requestData = array();
     // Get Request Variations Data
     //-----------------------------
     $productVariations = $listingProduct->getVariations(true);
     foreach ($productVariations as $variation) {
         /** @var $variation Ess_M2ePro_Model_Listing_Product_Variation */
         $tempItem = array('price' => $variation->getChildObject()->getPrice(), 'qty' => $variation->getChildObject()->isDelete() ? 0 : $variation->getChildObject()->getQty(), 'sku' => $variation->getChildObject()->getSku(), 'specifics' => array());
         $tempParamKey = 'return_variation_has_sales_key_when_qty_is_zero';
         if (isset($params[$tempParamKey]) && $params[$tempParamKey] && $tempItem['qty'] <= 0) {
             $temp = $variation->getChildObject()->hasSales();
             $temp && ($tempItem['has_sales'] = $temp);
         }
         $productVariationsOptions = $variation->getOptions(true);
         foreach ($productVariationsOptions as $option) {
             /** @var $option Ess_M2ePro_Model_Listing_Product_Variation_Option */
             $tempItem['specifics'][$option->getAttribute()] = $option->getOption();
         }
         $requestData[] = $tempItem;
     }
     //-----------------------------
     return $requestData;
 }
Ejemplo n.º 2
0
 public function addNotFoundAttributesMessage(Ess_M2ePro_Model_Listing_Product $listingProduct, $optionTitle, array $attributesCodes)
 {
     $attributesTitles = array();
     foreach ($attributesCodes as $attributeCode) {
         $attributesTitles[] = Mage::helper('M2ePro/Magento_Attribute')->getAttributeLabel($attributeCode, $listingProduct->getListing()->getStoreId());
     }
     $message = Mage::helper('M2ePro')->__('%s: attribute(s) %s were not found in this product and its value was not sent.', $optionTitle, implode(',', $attributesTitles));
     $listingProduct->addAdditionalWarningMessage($message);
 }