Руководство для начинающих по созданию модуля администратора в Magento 2

Шаг 1. Настройка структуры модуля
Для начала перейдите в каталог app/codeвашей установки Magento 2. Создайте новый каталог с именем VendorName(замените «VendorName» на желаемое имя) и внутри него создайте еще один каталог с именем ModuleName(замените «ModuleName» на желаемое имя модуля). Структура каталогов вашего модуля должна выглядеть следующим образом:

app/code
└── VendorName
    └── ModuleName
        ├── registration.php
        ├── etc
        │   ├── module.xml
        │   └── adminhtml.xml
        └── view
            └── adminhtml
                └── layout
                    └── module_name_controller_action.xml

Шаг 2. Определение модуля
Далее давайте определим наш модуль, создав необходимые файлы конфигурации. В каталоге etcсоздайте файл с именем module.xmlи добавьте следующий код:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="VendorName_ModuleName" setup_version="1.0.0"/>
</config>

Шаг 3. Настройка маршрутов администратора
Чтобы настроить маршруты администратора для вашего модуля, создайте файл с именем adminhtml.xmlв том же каталоге etcи добавьте следующее код:

<?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="module_route" frontName="module_route">
            <module name="VendorName_ModuleName" before="Magento_Backend" />
        </route>
    </router>
</config>

Шаг 4. Создание контроллера администратора
Теперь давайте создадим контроллер администратора. В каталоге view/adminhtml/controllerсоздайте файл с именем Action.phpи добавьте следующий код:

<?php
namespace VendorName\ModuleName\Controller\Adminhtml;
use Magento\Backend\App\Action;
use Magento\Backend\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;
class Action extends Action
{
    protected $resultPageFactory;
    public function __construct(Context $context, PageFactory $resultPageFactory)
    {
        parent::__construct($context);
        $this->resultPageFactory = $resultPageFactory;
    }
    public function execute()
    {
        $resultPage = $this->resultPageFactory->create();
        $resultPage->getConfig()->getTitle()->prepend(__('Admin Module'));
        return $resultPage;
    }
}

Шаг 5. Создание макета администратора
Чтобы создать макет модуля администрирования, перейдите в каталог view/adminhtml/layoutи создайте файл с именем module_name_controller_action.xml(замените ” имя_модуля_контроллер_действие” с нужными именами контроллера и действия). Добавьте следующий код:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block class="VendorName\ModuleName\Block\Adminhtml\CustomBlock" name="module_custom_block" template="VendorName_ModuleName::custom_block.phtml"/>
        </referenceContainer>
    </body>
</page>

Шаг 6. Создание пользовательского блока
Наконец, давайте создадим собственный блок для нашего модуля администратора. В каталоге Block/Adminhtmlсоздайте файл с именем CustomBlock.phpи добавьте следующий код:

<?php
namespace VendorName\ModuleName\Block\Adminhtml;
use Magento\Backend\Block\Template;
class CustomBlock extends Template
{
    // Your custom block logic goes here
}

Вот и все! Вы успешно создали модуль администратора в Magento 2. Не забудьте заменить «VendorName» и «ModuleName» нужными именами во всем коде.

Надеюсь, эта статья дала вам четкое представление о том, как создать модуль администрирования в Magento 2. Выполнив эти шаги, вы сможете расширить функциональность вашего бэкэнда Magento 2 и улучшить возможности администрирования. Приятного кодирования!