protected function getBundleAdditionalOptionValue(Ess_M2ePro_Model_Listing_Product_Variation_Option $option) { $value = 0; if ($this->getMagentoProduct()->isBundlePriceTypeDynamic()) { return $value; } $product = $this->getMagentoProduct()->getProduct(); $productTypeInstance = $this->getMagentoProduct()->getTypeInstance(); $bundleAttributes = $productTypeInstance->getOptionsCollection(); $attributeName = strtolower($option->getAttribute()); foreach ($bundleAttributes as $tempAttribute) { if (!(bool) (int) $tempAttribute->getData('required')) { continue; } if ((is_null($tempAttribute->getData('title')) || strtolower($tempAttribute->getData('title')) != $attributeName) && (is_null($tempAttribute->getData('default_title')) || strtolower($tempAttribute->getData('default_title')) != $attributeName)) { continue; } $tempOptions = $productTypeInstance->getSelectionsCollection(array(0 => $tempAttribute->getId()), $product)->getItems(); foreach ($tempOptions as $tempOption) { if ((int) $tempOption->getId() != $option->getProductId()) { continue; } if ((bool) (int) $tempOption->getData('selection_price_type')) { $value = $this->getProductBaseValue() * (double) $tempOption->getData('selection_price_value') / 100; } else { $value = (double) $tempOption->getData('selection_price_value'); if ($this->getSource('mode') == Ess_M2ePro_Model_Template_SellingFormat::PRICE_SPECIAL && $this->getMagentoProduct()->isSpecialPriceActual()) { $value = $value * $product->getSpecialPrice() / 100; } $value = $this->convertValueFromStoreToMarketplace($value); } break 2; } } return $value; }