Добавить пользовательскую кнопку на странице добавления / редактирования продукта - PullRequest
0 голосов
/ 12 февраля 2019

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

Как добавить пользовательскую кнопку на странице добавления / редактирования продукта (magento2).Мне нужно открыть всплывающее окно при нажатии кнопки.

1 Ответ

0 голосов
/ 13 февраля 2019

Форма продукта генерируется с помощью компонентов пользовательского интерфейса .Имя компонента пользовательского интерфейса для формы продукта: 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
        ];
    }
}

Ваш файл компонента пользовательского интерфейса должен быть объединен с основным файлом, а ваши кнопки должны появиться среди других кнопок.

Проверьте эти изменения после очистки кэша

...