Создание контроллера администратора с использованием admin html id - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь добавить контроллер, доступный в меню администратора через URL: https://dev.m2t2.com/admin_k1tgag/admin/helloWorld/index/key/0195fab99cc865bb756a77e8fe5ceedb6f8eee97de91d569398d383cef4f0d81/

Генерируется кодом XML, вставленным ниже. Но он продолжает возвращаться

Неверный ключ безопасности или ключ формы. Пожалуйста, измените sh страницу.

Маршрутизатор. xml:

    <?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
    <router id="admin">
        <route id="adminhtml">
            <module name="Study_Admin" before="Magento_Backend"/>
        </route>
    </router>
</config>

В меню я вставил:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
        <add id="Study_Admin::greetings" title="Greetings" translate="title" module="Study_Admin" parent="Magento_Backend::content" sortOrder="50" dependsOnModule="Study_Admin" resource="Study_Admin::greetings"/>
        <add id="Study_Admin::greetings_helloworld" title="Hello World" translate="title" module="Study_Admin" parent="Study_Admin::greetings" sortOrder="10" dependsOnModule="Study_Admin" action="adminhtml/helloWorld" resource="Study_Admin::greetings"/>
    </menu>
</config>

Но когда я получаю доступ контроллер через меню у меня нет успеха. Я начал отладку и проверил, что нестандартные контроллеры расширяют класс \ Magento \ Backend \ App \ Action для прохождения проверок внутри основного потока маршрутизации magento. Я сделал то же самое, но у меня все еще нет успеха.

Ниже моего класса контроллера:

<?php


namespace Study\Controller\Adminhtml\HelloWorld;



use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
use Magento\Framework\View\Result\Page;
use Magento\Framework\View\Result\PageFactory;
use Magento\Backend\App\Action\Context;
use ‌Magento\Framework\App\ActionInterface;

class Index extends \Magento\Backend\App\Action
{
    const MENU_Id = "Study_Admin::greetings_helloworld";
    protected $resultPageFActory;
    public function __construct(Context $context, PageFactory $resultPageFActory)
    {
        parent::__construct($context);
        $this->resultPageFActory = $resultPageFActory;
    }

    public function execute()
    {
        $resultPage = $this->resultPageFActory->create();
        $resultPage->setActiveMenu(static::MENU_Id);
        $resultPage->getConfig()->getTitle()->prepend(__('Hello World'));
        return $resultPage;
        // TODO: Implement execute() method.
    }


}

Структура файла: enter image description here

Спасибо заранее, и береги себя.

1 Ответ

0 голосов
/ 22 марта 2020

Это работает ... это было просто мое пространство имен в классе Controller с ошибкой

'Исследование пространства имен \ Admin \ Controller \ Adminhtml \ Helloworld;'

...