在添加/编辑产品页面上添加自定义按钮

时间:2019-02-12 19:07:02

标签: php xml layout magento2

https://i.stack.imgur.com/uHZ33.png

如何在添加/编辑产品页面(magento2)中添加自定义按钮。我需要在点击按钮时打开弹出窗口。

1 个答案:

答案 0 :(得分:0)

产品表单是通过 ui-components 生成的。 产品表单的ui组件名称为view/adminhtml/ui_component/product_form.xml

您需要在自己的模块中使用以下内容创建具有相同名称和路径的文件:

<?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>

然后在文件[Namespace]\[Module]\Block\Adminhtml\Product\Edit\Button\CustomButton中创建类[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' => __('Your button label here'),
            'on_click' => "alert('it works')",
            'sort_order' => 100
        ];
    }
}

您的ui组件文件应与主文件合并,并且您的按钮应出现在其他按钮之中。

在刷新缓存后检查这些更改