Шаг 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 и улучшить возможности администрирования. Приятного кодирования!