Como criar um menu no painel administrativo do Magento 2

santanaluc94

Lucas Teixeira dos Santos Santana

Posted on December 22, 2021

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
💖 💪 🙅 🚩
santanaluc94
Lucas Teixeira dos Santos Santana

Posted on December 22, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related