DEV Community

Lucas Teixeira dos Santos Santana
Lucas Teixeira dos Santos Santana

Posted on

Como criar um menu no painel administrativo do Magento 2

Código para criar um menu

Para a criação de novos menus no painel administrativo do Magento é necessário criar um arquivo chamado menu.xml que deve seguir a estrutura de pasta \{Vendor}\{Module}\etc\adminhtml\menu.xml. A estrutura do menu é separada pelos níveis tab, group_items e item.

  • tab: são botões adicionados na barra lateral esquerda do menu do painel administrativo;
  • group_items: é um título secundário que não redireciona a nenhuma página e pertence a uma tab específica, porém agrupa os itens que contém o redirecionamento por funcionalidades;
  • item: é um link que redireciona para a página e pode pertencer ou não a um group_items.
<?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="{Vendor}_{Module}::{tab_id}" title="{Tab Title}" translate="title" module="{Vendor}_{Module}" sortOrder="{integer}" resource="{Vendor}_{Module}::{aclResourceId}" /> <add id="{Vendor}_{Module}::{group_items_id}" title="{Group Items Title}" translate="title" module="{Vendor}_{Module}" sortOrder="{integer}" resource="{Vendor}_{Module}::{aclResourceId}" parent="{Vendor}_{Module}::{tab_id}" /> <add id="{Vendor}_{Module}::{item_id}" title="{Item Title}" translate="title" module="{Vendor}_{Module}" sortOrder="{integer}" resource="{Vendor}_{Module}::{aclResourceId}" parent="{Vendor}_{Module}::{group_items_id}" action="{route_frontend_name}/{controller_directory}/{controller_name}" /> </menu> </config> 
Enter fullscreen mode Exit fullscreen mode

Atributos do Menu

Atributos Descrição
id Define o identificador único que é utilizado no menu.
title Texto que será exibido na barra de menu.
module Define o módulo no qual o menu pertence.
sortOrder Define a ordem de classificação dos menus. A ordem é determinada por números crescente, então números menores aparecerão primeiro.
parent Atributo id de outro módulo, especificando qual o pai do nó atual.
action Define a URL da página que será redirecionada. Deve obedecer o formato {route_frontend_name}/{controller_directory}/{controller_name}.
resource Define o id do ACL na qual o usuário administrador terá acesso.

Finalizando

Valores entre chaves ({test}) devem ser alterados na implementação do código.

Habilitando as alterações

Execute o comando PHP para limpar todos os caches de armazenamento em cache do processos.

php bin/magento cache:clean php bin/magento flush 
Enter fullscreen mode Exit fullscreen mode

Diretórios e Arquivos

Segue a a lista de diretórios e arquivos que devem ser criados.

- app/ - code/ - {Vendor}/ - {Module}/ - etc/ - adminhtml/ - menu.xml - module.xml - registration.php - composer.json 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)