Como criar rotas personalizadas no Magento 2

santanaluc94

Lucas Teixeira dos Santos Santana

Posted on November 19, 2021

Como criar rotas personalizadas no Magento 2

Contextualizando

O que é uma rota?

Uma rota está diretamente relacionada a URL funcionando como um localizador de um recurso, acrescentando um path (caminho) na URL, que ao ser chamado, retornará uma página gerada dinamicamente conforme o caminha da URL.


Código para criar uma rota personalizada

O arquivo routes.xml contém informações sobre todas as rotas e frontNames registrados. O atributo frontName é a primeira parte de uma rota da URL.
Deve-se registrar um arquivo routes.xml e associá-lo a um módulo. É possível ter vários módulos associados a uma rota.
Para criar uma rota relacionada ao painel administrativo utiliza-se a estrutura de pastas \{Vendor}\{Module}\etc\adminhtml\routes.xml e o valor admin para o atributo id do nó <router>, já para criar rotas na parte visual da loja do site utiliza-se a estrutura de pastas \{Vendor}\{Module}\etc\frontend\routes.xml e o valor standard para o atributo id do nó <router>.

<?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="{router_id}">
        <route id="{route_id}" frontName="{frontName}">
            <module name="{Vendor}_{Module}" />
        </route>
    </router>
</config>
Enter fullscreen mode Exit fullscreen mode

O atributo id do nó <route> é uma string única que identificará a rota. Esta string é utilizada para declarar a primeira parte do nome do arquivo de layout da página.
O atributo frontName é uma string única que identificará a primeira parte do caminho da URL.


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/
            - {area}/
              - routes.xml
            - module.xml
          - registration.php
          - composer.json
Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
santanaluc94
Lucas Teixeira dos Santos Santana

Posted on November 19, 2021

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

Sign up to receive the latest update from our blog.

Related