diff --git a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Popup/Grid.php b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Popup/Grid.php index 53bcc298732f9d804846b252f950e4e9c5d3b936..e7aeff7affaef4991431f27d46d5a67cebf558f8 100644 --- a/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Popup/Grid.php +++ b/app/code/Magento/Catalog/Block/Adminhtml/Product/Edit/Tab/Options/Popup/Grid.php @@ -62,7 +62,20 @@ class Grid extends \Magento\Catalog\Block\Adminhtml\Product\Grid protected function _prepareCollection() { parent::_prepareCollection(); - $this->getCollection()->addFieldToFilter('has_options', 1); + + if (null !== $this->getRequest()->getParam('current_product_id')) { + $this->getCollection()->getSelect()->where( + 'e.entity_id != ?', $this->getRequest()->getParam('current_product_id') + ); + } + + $this->getCollection()->getSelect()->distinct()->join( + ['opt' => $this->getCollection()->getTable('catalog_product_option')], + 'opt.product_id = e.entity_id', + null + ); + + $this->_productFactory->create()->getMediaGalleryEntries(); return $this; } diff --git a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml index ef38f34b168c37ddd3ddf1972af4e13ff4bdf8ef..f0baae3a2bdd35cabc7887f21b0edbc65d621e3e 100644 --- a/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml +++ b/app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/edit/options/option.phtml @@ -97,6 +97,7 @@ jQuery(function ($) { 'customOptionsUrl' => $block->getCustomOptionsUrl(), 'isReadonly' => $block->isReadonly(), 'itemCount' => $block->getItemCount(), + 'currentProductId' => $block->getRequest()->getParam('id'), ] )?>); //adding data to templates diff --git a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js index 1b36e6ae0bf88898c3f60c8814ceb396f1266383..69072252e41f41174b9df8b764d2439f87a9d55b 100644 --- a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js +++ b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js @@ -179,7 +179,7 @@ define([ }); importContainer.load( this.options.productGridUrl, - {form_key: this.options.formKey}, + {form_key: this.options.formKey, current_product_id : this.options.currentProductId}, function () { importContainer.modal('openModal'); }