public function getVariationValue(\Ess\M2ePro\Model\Listing\Product\Variation $variation) { if ($variation->getChildObject()->isDelete()) { return 0; } return parent::getVariationValue($variation); }
public function getVariationValue(ListingProductVariation $variation) { if ($variation->getChildObject()->isDelete()) { return 0; } return parent::getVariationValue($variation); }
private function getVariationDetails(\Ess\M2ePro\Model\Listing\Product\Variation $variation) { $data = array(); /** @var \Ess\M2ePro\Model\Ebay\Template\Description $ebayDescriptionTemplate */ $ebayDescriptionTemplate = $this->getEbayListingProduct()->getEbayDescriptionTemplate(); $options = NULL; $additionalData = $variation->getAdditionalData(); foreach (array('isbn', 'upc', 'ean', 'mpn') as $tempType) { if ($tempType == 'mpn' && !empty($additionalData['ebay_mpn_value'])) { $data[$tempType] = $additionalData['ebay_mpn_value']; continue; } if (isset($additionalData['product_details'][$tempType])) { $data[$tempType] = $additionalData['product_details'][$tempType]; continue; } if ($tempType == 'mpn') { if ($ebayDescriptionTemplate->isProductDetailsModeNone('brand')) { continue; } if ($ebayDescriptionTemplate->isProductDetailsModeDoesNotApply('brand')) { $data[$tempType] = Description::PRODUCT_DETAILS_DOES_NOT_APPLY; continue; } } if ($ebayDescriptionTemplate->isProductDetailsModeNone($tempType)) { continue; } if ($ebayDescriptionTemplate->isProductDetailsModeDoesNotApply($tempType)) { $data[$tempType] = Description::PRODUCT_DETAILS_DOES_NOT_APPLY; continue; } if (!$this->getMagentoProduct()->isConfigurableType() && !$this->getMagentoProduct()->isGroupedType()) { continue; } $attribute = $ebayDescriptionTemplate->getProductDetailAttribute($tempType); if (!$attribute) { continue; } if (is_null($options)) { $options = $variation->getOptions(true); } /** @var $option \Ess\M2ePro\Model\Listing\Product\Variation\Option */ $option = reset($options); $this->searchNotFoundAttributes(); $tempValue = $option->getMagentoProduct()->getAttributeValue($attribute); if (!$this->processNotFoundAttributes(strtoupper($tempType)) || !$tempValue) { continue; } $data[$tempType] = $tempValue; } return $this->deleteNotAllowedIdentifier($data); }
protected function applyAdditionalOptionValuesModifications(Variation $variation, $value) { foreach ($variation->getOptions(true) as $option) { if ($this->getMagentoProduct()->isSimpleType()) { $value += $this->getSimpleWithCustomOptionsAdditionalOptionValue($option); } else { if ($this->getMagentoProduct()->isBundleType() && $option->getProductId()) { $value += $this->getBundleAdditionalOptionValue($option); } } } return $value; }
protected function getClearVariationValue(\Ess\M2ePro\Model\Listing\Product\Variation $variation) { if ($this->getMagentoProduct()->isConfigurableType() || $this->getMagentoProduct()->isSimpleTypeWithCustomOptions() || $this->getMagentoProduct()->isGroupedType()) { $options = $variation->getOptions(true); $value = $this->getOptionBaseValue(reset($options)); } else { if ($this->getMagentoProduct()->isBundleType()) { $optionsQtyList = array(); $optionsQtyArray = array(); // grouping qty by product id foreach ($variation->getOptions(true) as $option) { if (!$option->getProductId()) { continue; } $optionsQtyArray[$option->getProductId()][] = $this->getOptionBaseValue($option); } foreach ($optionsQtyArray as $optionQty) { $optionsQtyList[] = floor($optionQty[0] / count($optionQty)); } $value = min($optionsQtyList); } else { throw new Logic('Unknown Product type.', array('listing_product_id' => $this->getProduct()->getId(), 'product_id' => $this->getMagentoProduct()->getProductId(), 'type' => $this->getMagentoProduct()->getTypeId())); } } return $value; }