2

enter image description here

I want add a new Draft button in Product Edit page (located between Back and Add Attribute)

I am able to add by following the tutorial : magento2-how-to-add-custom-button-in-product-edit-form

But, I am unable to add the link to my custom controller. Does anyone have any advice please.

CvRChameleon
  • 713
  • 6
  • 24
Pawankumar
  • 703
  • 12
  • 35

1 Answers1

0

The product form is generated via ui-components.
The ui component name for product form is view/adminhtml/ui_component/product_form.xml.

You need to create a file with the same name and path in your own module with the following content:

<?xml version="1.0" encoding="UTF-8"?>
<form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
        <item name="buttons" xsi:type="array">
            <item name="button-unique-identifier-here" xsi:type="string">[Namespace]\[Module]\Block\Adminhtml\Product\Edit\Button\CustomButton</item>
        </item>
    </argument>
</form>

Then create the class [Namespace]\[Module]\Block\Adminhtml\Product\Edit\Button\CustomButton in the file [Namespace]/[Module]/Block/Adminhtml/Product/Edit/Button/CustomButton.php

<?php 
namespace [Namespace]\[Module]\Block\Adminhtml\Product\Edit\Button;

use Magento\Catalog\Block\Adminhtml\Product\Edit\Button\Generic;

class CustomButton extends Generic { public function getButtonData() { return [ 'label' => __('Enter Your button label here'), 'on_click' => "alert('it works..')", 'class' => 'primary', 'sort_order' => 100 ]; } }

Your ui component file should be merged with the main file and your buttons should appear among the other buttons.

Vishal Thakur
  • 742
  • 6
  • 19
  • Sorry to ask, may you please have a look at my question related to this, regarding a button implementation. https://magento.stackexchange.com/questions/339727/magento-2-admin-menu-buttons-uicomponent-buttons-behaviour . In short, I want to know if there is any built-in behaviour. – CvRChameleon Jun 15 '21 at 10:39