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 umatab
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 umgroup_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>
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
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
Top comments (0)