Как создать контроллер без создания меню в Adminhtml Magento 2


Я сослался на приведенную ниже статью, чтобы отобразить кнопку на моей странице конфигурации.

Https://magecomp.com/blog/add-a-button-in-magento-2-stores-configuration-with-custom-action/

В файле

App\code\Vendor\Extension\Block\System\Config\Button.php

Существует функция, с помощью которой мы можем определить наш URL-адрес Ajax

public function getAjaxUrl()
    {
        return $this->getUrl(‘your action Url’);
    }

Поэтому для этого я хочу создать контроллер в Adminhtml, к которому я могу получить доступ, используя URL-адрес действия. но все примеры, которые я нашел, также создают меню на боковой панели в дополнение к действию контроллера.

Например, этот: https://www.maximehuran.fr/en/admin-controller-creation-with-magento-2/

Есть ли какой-либо способ получить доступ к действию контроллера без создания меню?

Редактировать: После некоторых изменений в коде я могу войти в контроллер, используя следующий URL:

My_backend_url/идентификатор маршрута/имя_контроллера/индекс

Но он перенаправляет обратно меня на страницу панели мониторинга.

Как упоминалось в этой статье:

Пользовательское действие администратора Magento 2 Перенаправлено на панель мониторинга

Это ключевой вопрос Секретной формы.

Мы можем получить секретный ключ формы, только если добавим контроллер в меню, чего я не хочу делать!

Отключение ключа секретной формы - это не то, что я предпочитаю!

Author: Khushbu, 2019-06-19

2 answers

Ответ, который сработал для меня, взят из этой статьи:

Пользовательское действие администратора Magento 2 Перенаправлено на панель мониторинга

Мы можем использовать защищенные $_publicactions = ['ИМЯ_ПОЛЬЗОВАТЕЛЯ_ДЕЙСТВИЯ'];, чтобы отключить проверку ключа формы для конкретного контроллера, как показано ниже:

class Index extends \Magento\Backend\App\Action
{
    protected $_publicActions = ['index'];

    public function execute()
    {
        echo "My Hello World! Controller";
    }

}

Лучше отключить ключ формы только для моего контроллера, а не везде в панели администратора.

Пожалуйста, поделитесь, если у кого-нибудь есть лучшее решение.

 0
Author: Khushbu, 2019-06-19 12:19:07

Ваше пространство имен должно быть прописным, а не строчным, если вы хотите идти шаг за шагом Как создать контроллер в magento 2

 -5
Author: SKY8G, 2019-07-11 03:56:35