Для управління меню адмін-панелі Magento 2 (додавання нових пунктів) служить файл etc/adminhtml/menu.xml.

Створіть файл у папці вашого модуля, щоб додати новий елемент меню:

etc/adminhtml/menu.xml

 та додайте до нього код:

<?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="VendorName_ModuleName::key1" title="Title 1" module="VendorName_ModuleName" parent="OtherVendorName_OtherModuleName::content" sortOrder="10" resource="VendorName_ModuleName::key1"/>
        <add id="VendorName_ModuleName::key2" title="Title 2" module="VendorName_ModuleName" parent="VendorName_ModuleName::key1" sortOrder="10" action="path/controllerName" resource="VendorName_ModuleName::key2"/>
    </menu>
</config>

id - унікальний ідентифікатор елемента меню;
title - текс елемента;
module - вказує до якого модуля відносится елемент;
parent - ідентифікатор батьківського елемента меню;
sortOrder - позиція серед інших елементів;
action - вказує шлях, на який посилатимется елемент;
resource - ідентифікатор acl (Access Control List), служить для розмежування прав доступу (хто може бачити цей пункт меню). Більше інформації про  розмежування прав можна знайти у цій статті.

 

Після збереження змін у menu.xml очистіть кеш, виконавши CLI команду:

php bin/magento cache:clean

Перевірте результат.

 

У прикладах ми створюємо модуль для FAQ. Змінений код модуля можна переглянути на GitHub.