Example #1
0
 private function getSourceOptionNames($sourceOption)
 {
     $magentoOptionNames = $this->magentoProduct->getVariationInstance()->getTitlesVariationSet();
     $resultNames = array();
     foreach ($sourceOption as $attribute => $option) {
         $names = array();
         if (isset($magentoOptionNames[$attribute])) {
             $names = $magentoOptionNames[$attribute]['values'][$option];
         }
         $resultNames[$attribute] = $this->prepareOptionNames($option, $names);
     }
     return $resultNames;
 }
Example #2
0
 private function getSourceAttributesData()
 {
     if (!is_null($this->magentoProduct)) {
         $magentoAttributesNames = $this->magentoProduct->getVariationInstance()->getTitlesVariationSet();
         $magentoStandardVariations = $this->magentoProduct->getVariationInstance()->getVariationsTypeStandard();
         $resultData = array();
         foreach (array_keys($magentoStandardVariations['set']) as $attribute) {
             $titles = array();
             if (isset($magentoAttributesNames[$attribute])) {
                 $titles = $magentoAttributesNames[$attribute]['titles'];
             }
             $resultData[$attribute] = $titles;
         }
         return $resultData;
     }
     return array_fill_keys($this->getSourceAttributes(), array());
 }
 protected function getBundleProductDynamicValue(Product $product)
 {
     $value = 0;
     $variationsData = $product->getVariationInstance()->getVariationsTypeStandard();
     foreach ($variationsData['variations'] as $variation) {
         $variationValue = 0;
         foreach ($variation as $option) {
             /** @var $childProduct Product */
             $childProduct = $this->modelFactory->getObject('Magento\\Product')->setProductId($option['product_id']);
             $optionValue = (double) $childProduct->getSpecialPrice();
             $optionValue <= 0 && ($optionValue = (double) $childProduct->getPrice());
             $variationValue += $optionValue;
         }
         if ($variationValue < $value || $value == 0) {
             $value = $variationValue;
         }
     }
     return $this->convertValueFromStoreToMarketplace($value);
 }