Magento2 in How to Remove Duplicate button in product create?












1















How to Remove Duplicate button in product Create/Edit page - Magento2.
enter image description here










share|improve this question





























    1















    How to Remove Duplicate button in product Create/Edit page - Magento2.
    enter image description here










    share|improve this question



























      1












      1








      1








      How to Remove Duplicate button in product Create/Edit page - Magento2.
      enter image description here










      share|improve this question
















      How to Remove Duplicate button in product Create/Edit page - Magento2.
      enter image description here







      magento2 product admin adminform






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jul 13 '17 at 6:19







      Magento2 Devloper

















      asked Jun 8 '17 at 14:34









      Magento2 DevloperMagento2 Devloper

      822933




      822933






















          2 Answers
          2






          active

          oldest

          votes


















          1














          If you look at vendor/magento/module-catalog/Block/Adminhtml/Product/Edit.php and vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Button/Save.php you see that on the location where the button is created it checks if the product is duplicable:



          if (!$this->getRequest()->getParam('popup') && $this->getProduct()->isDuplicable()) {
          $options = [
          'id' => 'duplicate-button',
          'label' => __('Save & Duplicate'),
          'data_attribute' => [
          'mage-init' => [
          'button' => ['event' => 'saveAndDuplicate', 'target' => '[data-form=edit-product]'],
          ],
          ],
          ];
          }


          So the most obvious way I could think of is to make sure the $product->isDuplicable() will return false. It is a public method so you could use a plugin / interceptor to let it return false, or hook into the product loading and do something like $product->setIsDuplicable(false);



          Note the isDuplicable() is a method of MagentoCatalogModelProduct and is not defined in it's service contract. Haven't tested it yet, but I'm not sure that writing an interceptor for the service contract will pick it up.






          share|improve this answer
























          • Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

            – Magento2 Devloper
            Jul 13 '17 at 7:56



















          0














          Implementation of Giel Berkers answer:



          MyCompany/MyModule/etc/adminhtml/di.xml



          <type name="MagentoCatalogModelProduct">
          <plugin name="disable_product_duplicate" type="MyCompanyMyModulePluginProductPlugin" sortOrder="100"/>
          </type>


          MyCompanyMyModulePluginProductPlugin



          namespace MyCompanyMyModulePlugin;

          class ProductPlugin
          {
          /**
          * Checks product can be duplicated
          *
          * @return boolean
          */
          public function afterIsDuplicable(MagentoCatalogModelProduct $product, $result)
          {
          return false;
          }

          }




          share























            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "479"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f178094%2fmagento2-in-how-to-remove-duplicate-button-in-product-create%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            1














            If you look at vendor/magento/module-catalog/Block/Adminhtml/Product/Edit.php and vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Button/Save.php you see that on the location where the button is created it checks if the product is duplicable:



            if (!$this->getRequest()->getParam('popup') && $this->getProduct()->isDuplicable()) {
            $options = [
            'id' => 'duplicate-button',
            'label' => __('Save & Duplicate'),
            'data_attribute' => [
            'mage-init' => [
            'button' => ['event' => 'saveAndDuplicate', 'target' => '[data-form=edit-product]'],
            ],
            ],
            ];
            }


            So the most obvious way I could think of is to make sure the $product->isDuplicable() will return false. It is a public method so you could use a plugin / interceptor to let it return false, or hook into the product loading and do something like $product->setIsDuplicable(false);



            Note the isDuplicable() is a method of MagentoCatalogModelProduct and is not defined in it's service contract. Haven't tested it yet, but I'm not sure that writing an interceptor for the service contract will pick it up.






            share|improve this answer
























            • Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

              – Magento2 Devloper
              Jul 13 '17 at 7:56
















            1














            If you look at vendor/magento/module-catalog/Block/Adminhtml/Product/Edit.php and vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Button/Save.php you see that on the location where the button is created it checks if the product is duplicable:



            if (!$this->getRequest()->getParam('popup') && $this->getProduct()->isDuplicable()) {
            $options = [
            'id' => 'duplicate-button',
            'label' => __('Save & Duplicate'),
            'data_attribute' => [
            'mage-init' => [
            'button' => ['event' => 'saveAndDuplicate', 'target' => '[data-form=edit-product]'],
            ],
            ],
            ];
            }


            So the most obvious way I could think of is to make sure the $product->isDuplicable() will return false. It is a public method so you could use a plugin / interceptor to let it return false, or hook into the product loading and do something like $product->setIsDuplicable(false);



            Note the isDuplicable() is a method of MagentoCatalogModelProduct and is not defined in it's service contract. Haven't tested it yet, but I'm not sure that writing an interceptor for the service contract will pick it up.






            share|improve this answer
























            • Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

              – Magento2 Devloper
              Jul 13 '17 at 7:56














            1












            1








            1







            If you look at vendor/magento/module-catalog/Block/Adminhtml/Product/Edit.php and vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Button/Save.php you see that on the location where the button is created it checks if the product is duplicable:



            if (!$this->getRequest()->getParam('popup') && $this->getProduct()->isDuplicable()) {
            $options = [
            'id' => 'duplicate-button',
            'label' => __('Save & Duplicate'),
            'data_attribute' => [
            'mage-init' => [
            'button' => ['event' => 'saveAndDuplicate', 'target' => '[data-form=edit-product]'],
            ],
            ],
            ];
            }


            So the most obvious way I could think of is to make sure the $product->isDuplicable() will return false. It is a public method so you could use a plugin / interceptor to let it return false, or hook into the product loading and do something like $product->setIsDuplicable(false);



            Note the isDuplicable() is a method of MagentoCatalogModelProduct and is not defined in it's service contract. Haven't tested it yet, but I'm not sure that writing an interceptor for the service contract will pick it up.






            share|improve this answer













            If you look at vendor/magento/module-catalog/Block/Adminhtml/Product/Edit.php and vendor/magento/module-catalog/Block/Adminhtml/Product/Edit/Button/Save.php you see that on the location where the button is created it checks if the product is duplicable:



            if (!$this->getRequest()->getParam('popup') && $this->getProduct()->isDuplicable()) {
            $options = [
            'id' => 'duplicate-button',
            'label' => __('Save & Duplicate'),
            'data_attribute' => [
            'mage-init' => [
            'button' => ['event' => 'saveAndDuplicate', 'target' => '[data-form=edit-product]'],
            ],
            ],
            ];
            }


            So the most obvious way I could think of is to make sure the $product->isDuplicable() will return false. It is a public method so you could use a plugin / interceptor to let it return false, or hook into the product loading and do something like $product->setIsDuplicable(false);



            Note the isDuplicable() is a method of MagentoCatalogModelProduct and is not defined in it's service contract. Haven't tested it yet, but I'm not sure that writing an interceptor for the service contract will pick it up.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jul 13 '17 at 6:43









            Giel BerkersGiel Berkers

            6,80923975




            6,80923975













            • Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

              – Magento2 Devloper
              Jul 13 '17 at 7:56



















            • Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

              – Magento2 Devloper
              Jul 13 '17 at 7:56

















            Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

            – Magento2 Devloper
            Jul 13 '17 at 7:56





            Thanx for the Answer but I checked both files code remove but it's not working. plugin things I don't know how it uses. can you explain about it?

            – Magento2 Devloper
            Jul 13 '17 at 7:56













            0














            Implementation of Giel Berkers answer:



            MyCompany/MyModule/etc/adminhtml/di.xml



            <type name="MagentoCatalogModelProduct">
            <plugin name="disable_product_duplicate" type="MyCompanyMyModulePluginProductPlugin" sortOrder="100"/>
            </type>


            MyCompanyMyModulePluginProductPlugin



            namespace MyCompanyMyModulePlugin;

            class ProductPlugin
            {
            /**
            * Checks product can be duplicated
            *
            * @return boolean
            */
            public function afterIsDuplicable(MagentoCatalogModelProduct $product, $result)
            {
            return false;
            }

            }




            share




























              0














              Implementation of Giel Berkers answer:



              MyCompany/MyModule/etc/adminhtml/di.xml



              <type name="MagentoCatalogModelProduct">
              <plugin name="disable_product_duplicate" type="MyCompanyMyModulePluginProductPlugin" sortOrder="100"/>
              </type>


              MyCompanyMyModulePluginProductPlugin



              namespace MyCompanyMyModulePlugin;

              class ProductPlugin
              {
              /**
              * Checks product can be duplicated
              *
              * @return boolean
              */
              public function afterIsDuplicable(MagentoCatalogModelProduct $product, $result)
              {
              return false;
              }

              }




              share


























                0












                0








                0







                Implementation of Giel Berkers answer:



                MyCompany/MyModule/etc/adminhtml/di.xml



                <type name="MagentoCatalogModelProduct">
                <plugin name="disable_product_duplicate" type="MyCompanyMyModulePluginProductPlugin" sortOrder="100"/>
                </type>


                MyCompanyMyModulePluginProductPlugin



                namespace MyCompanyMyModulePlugin;

                class ProductPlugin
                {
                /**
                * Checks product can be duplicated
                *
                * @return boolean
                */
                public function afterIsDuplicable(MagentoCatalogModelProduct $product, $result)
                {
                return false;
                }

                }




                share













                Implementation of Giel Berkers answer:



                MyCompany/MyModule/etc/adminhtml/di.xml



                <type name="MagentoCatalogModelProduct">
                <plugin name="disable_product_duplicate" type="MyCompanyMyModulePluginProductPlugin" sortOrder="100"/>
                </type>


                MyCompanyMyModulePluginProductPlugin



                namespace MyCompanyMyModulePlugin;

                class ProductPlugin
                {
                /**
                * Checks product can be duplicated
                *
                * @return boolean
                */
                public function afterIsDuplicable(MagentoCatalogModelProduct $product, $result)
                {
                return false;
                }

                }





                share











                share


                share










                answered 8 mins ago









                Patrick van BergenPatrick van Bergen

                43059




                43059






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Magento Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f178094%2fmagento2-in-how-to-remove-duplicate-button-in-product-create%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Polycentropodidae

                    Magento 2 Error message: Invalid state change requested

                    Paulmy