diff --git a/vendor/magento/module-bundle/Model/LinkManagement.php b/vendor/magento/module-bundle/Model/LinkManagement.php index 9bc056a3e9a8..dad199566bb9 100644 --- a/vendor/magento/module-bundle/Model/LinkManagement.php +++ b/vendor/magento/module-bundle/Model/LinkManagement.php @@ -351,6 +351,7 @@ public function addChild( } $selectionModel = $this->bundleSelection->create(); + $selectionModel->load($linkedProduct->getId()); $selectionModel = $this->mapProductLinkToBundleSelectionModel( $selectionModel, $linkedProduct, diff --git a/vendor/magento/module-bundle/Model/Selection.php b/vendor/magento/module-bundle/Model/Selection.php index 3137f723e57c..ea115c343d43 100644 --- a/vendor/magento/module-bundle/Model/Selection.php +++ b/vendor/magento/module-bundle/Model/Selection.php @@ -5,6 +5,8 @@ */ namespace Magento\Bundle\Model; +use Magento\Framework\App\ObjectManager; + /** * Bundle Selection Model * @@ -36,8 +38,6 @@ class Selection extends \Magento\Framework\Model\AbstractModel { /** - * Catalog data - * * @var \Magento\Catalog\Helper\Data */ protected $_catalogData; @@ -82,7 +82,9 @@ public function beforeSave() { if (!$this->_catalogData->isPriceGlobal() && $this->getWebsiteId()) { $this->setData('tmp_selection_price_value', $this->getSelectionPriceValue()); + $this->setData('tmp_selection_price_type', $this->getSelectionPriceType()); $this->setSelectionPriceValue($this->getOrigData('selection_price_value')); + $this->setSelectionPriceType($this->getOrigData('selection_price_type')); } parent::beforeSave(); } @@ -98,6 +100,9 @@ public function afterSave() if (null !== $this->getData('tmp_selection_price_value')) { $this->setSelectionPriceValue($this->getData('tmp_selection_price_value')); } + if (null !== $this->getData('tmp_selection_price_type')) { + $this->setSelectionPriceType($this->getData('tmp_selection_price_type')); + } $this->getResource()->saveSelectionPrice($this); if (!$this->getDefaultPriceScope()) {