如何在Magento2的管理产品编辑页面上的页面操作按钮旁边添加一个新按钮

时间:2016-10-27 10:09:26

标签: php magento magento2

我想在Magento 2的管理产品编辑页面上的页面操作按钮旁边添加一个新按钮(后退,保存)。这个新按钮将执行自定义操作。任何人都可以让我知道,如何在管理产品编辑页面的页面 - 操作按钮区域中创建新按钮。我使用的是Magento 2.0.2版本。

1 个答案:

答案 0 :(得分:0)

在做了一些研究后,我发现,我们可以通过编辑核心文件中的_prepareLayout()函数在vendor产品编辑页面中创建一个自定义按钮,vendor \ magento \ module-catalog \ Block \ Adminhtml \产物\ Edit.php

为了做到这一点,我已经在我的模块中扩展了这个块文件。为此,首先我在我的模块中编辑了di.xml文件(MyVendor / MyModule / etc / di.xml)

<preference for="Magento\Catalog\Block\Adminhtml\Product\Edit" type="MyVendor\MyModule\Block\Adminhtml\Product\Edit" />

然后我将Block文件扩展到我的模块(MyVendor / MyModule / Block / Adminhtml / Product / Edit.php)

命名空间MyVendor \ MyModule \ Block \ Adminhtml \ Product;

类编辑extends \ Magento \ Catalog \ Block \ Adminhtml \ Product \ Edit {

/**
 * Add elements in layout
 *
 * @return $this
 */
protected function _prepareLayout()
{
    $this->getToolbar()->addChild(
                'custom_buttonfor_myaction',
                'Magento\Backend\Block\Widget\Button',
                [
                    'label' => __('Custom Button'),
                    'title' => __('Custom Button'),
                    'onclick' => 'setLocation(\'' . $this->getUrl(
                        'mycustompath/*/',
                        ['store' => $this->getRequest()->getParam('store', 0)]
                    ) . '\')',
                    'class' => 'action-default primary'
                ]
            );
    return parent::_prepareLayout();
}

}

这将在管理产品编辑页面中创建自定义按钮。