private function getGroupedAssociatedProduct()
 {
     $variationName = array_shift($this->variation);
     //------------------------------
     $configGroup = '/order/magento/settings/';
     $configKey = 'create_with_first_product_options_when_variation_unavailable';
     $configValue = Mage::helper('M2ePro/Module')->getConfig()->getGroupValue($configGroup, $configKey);
     if ((is_null($variationName) || strlen(trim($variationName)) == 0) && !$configValue) {
         return null;
     }
     //------------------------------
     $associatedProducts = $this->magentoProduct->getProductVariationsForOrder();
     foreach ($associatedProducts as $product) {
         // return product if it's name is equal to variation name
         if (is_null($variationName) || trim(strtolower($product->getName())) == trim(strtolower($variationName))) {
             return $product;
         }
     }
     return null;
 }
Beispiel #2
0
 private function getOptions(Ess_M2ePro_Model_Magento_Product $magentoProduct)
 {
     $variation = $this->proxyItem->getLowerCasedVariation();
     $magentoOptions = $magentoProduct->getProductVariationsForOrder();
     // Variation info unavailable - return first value for each required option
     // ---------------
     if (empty($variation)) {
         $firstOptions = array();
         foreach ($magentoOptions as $option) {
             $firstOptions[$option['option_id']] = $option['values'][0]['value_id'];
         }
         return $firstOptions;
     }
     // ---------------
     // Map variation with magento options
     // ---------------
     $mappedOptions = array();
     foreach ($magentoOptions as $option) {
         $optionValueLabel = $this->getMappedOptionValueLabel($variation, $option['labels']);
         if ($optionValueLabel == '') {
             continue;
         }
         $optionValueId = $this->getMappedOptionValueId($optionValueLabel, $option['values']);
         if (is_null($optionValueId)) {
             continue;
         }
         $mappedOptions[$option['option_id']] = $optionValueId;
     }
     // ---------------
     return $mappedOptions;
 }