Guia para criar um módulo no Magento 2

Publicados: 2015-11-20

Você está procurando a maneira de criar um módulo no Magento 2? Hoje, vamos orientá-lo como criar um módulo no Magento 2. Esperamos que você goste e faça uso dele facilmente!

Criar um módulo flexível é muito difícil, mas temos um tutorial simples sobre como criar um módulo simples no Magento 2. Espero que este tutorial possa ajudá-lo no primeiro passo. Antes de criar o módulo , é necessário entender as diferenças na estrutura de diretórios entre as duas versões do Magento. Na estrutura de diretórios do Magento 2, os pools de código são removidos da estrutura do arquivo base de código. Agora todos os módulos estão agrupados por fornecedor. Portanto, podemos criar módulos diretamente dentro do diretório app/code.

Última atualização: Acabamos de lançar a versão 2.0 do Claue Multipurpose Magento 2 Theme, com várias melhorias de desempenho e recursos exclusivos. Confira este tema agora: Claue Magento Theme 2. 0

claue2_edited (1)

Demonstração ao vivo

Claue – Clean, Minimal Magento 2&1 Theme é um excelente modelo para uma loja de comércio eletrônico moderna e limpa com mais de 40 layouts de página inicial e toneladas de opções para loja, blog, portfólio, layouts de localizador de lojas e outras páginas úteis. A versão 2.0 do Claue vem com vários recursos exclusivos, incluindo:

  • Sendo baseado no tema Luma.
  • Conheça todos os padrões do tema Magento
  • Melhoria significativa de desempenho
  • Compatível com a maioria das extensões de terceiros.
  • Totalmente compatível com Magento 2.4.x

Esta segunda versão avançada diferencia-se completamente da anterior. Assim, se você estiver usando o Claue versão 1 e quiser atualizar para o Claue versão 2, você só pode reconstruir um novo site em vez de atualizar da versão antiga. Agora, vamos voltar ao assunto principal.

Diferenças entre Magento1.0 e Magento2.0

Existem algumas diferenças básicas entre o Magento 1.0 e o Magento 2.0 para que você possa visualizar facilmente a estrutura de pastas no Magento 2.0. Assim, fazer um módulo simples no Magento 2.0 é muito fácil.

Guia para criar um módulo no Magento 2

Crie um módulo no Magento2

Etapa 1: Crie arquivos de configuração.

– Crie o arquivo: app/code/Tutorial/Example/etc/module.xml (Objetivo: Este arquivo irá declarar seu módulo) e insira o seguinte código nele:

  1. <? xml versão = “1.0” ?>
  2. <config xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation = “..
  3. /../../../../lib/internal/Magento/Framework/Module/etc/module.xsd” >
  4. <module name = “Tutorial_Example” setup_version = “1.0.0” >
  5. </module>
  6. </config>

– Criar arquivo: app/code/Tutorial/Example/etc/frontend/routes.xml (Propósito: O roteador do seu módulo para frontend será declarado aqui):

  1. <? xml versão = “1.0” ?>
  2. <config xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation = “..
  3. /../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd” >
  4. < id do roteador = “padrão” >
  5. < ID da rota = “exemplo” frontName = “exemplo” >
  6. <module name = “Tutorial_Example” />
  7. </route>
  8. </roteador>
  9. </config>

Etapa 2: Crie arquivos de controlador, layout e modelo.

Após criar os arquivos de configuração, iniciaremos com os arquivos de controlador, layout e template.

– Crie o arquivo do controlador: app/code/Tutorial/Example/Controller/Index/Index.php e coloque este código:

  1. <? php
  2. namespace Tutorial \Example\Controller\Index ;
  3. use Magento \Framework\App\Action\Context ;
  4. use Magento \Framework\View\Result\PageFactory ;
  5. class Index estende \Magento\Framework\App\Action\Action
  6. {
  7. /**
  8. * @param Contexto $contexto
  9. * @param PageFactory $resultPageFactory
  10. */
  11. função pública __construct (
  12. Contexto $contexto ,
  13. PageFactory $resultPageFactory
  14. )
  15. {
  16. parent :: __construct ( $context );
  17. $this -> resultPageFactory = $resultPageFactory ;
  18. }
  19. função pública executar ()
  20. {
  21. $resultPageFactory = $this -> resultPageFactory -> criar ();
  22. // Adiciona o título da página
  23. $resultPageFactory -> getConfig ()-> getTitle ()-> set ( __ ( 'Exemplo de módulo' ));
  24. // Adiciona pão ralado
  25. /** @var \Magento\Theme\Block\Html\Breadcrumbs */
  26. $breadcrumbs = $resultPageFactory -> getLayout ()-> getBlock ( 'breadcrumbs' );
  27. $breadcrumbs -> addCrumb ( 'home' ,
  28. [
  29. 'label' => __ ( 'Início' ),
  30. 'título' => __ ( 'Início' ),
  31. 'link' => $this -> _url -> getUrl ( )
  32. ]
  33. );
  34. $breadcrumbs -> addCrumb ( 'tutorial_example' ,
  35. [
  36. 'label' => __ ( 'Exemplo' ),
  37. 'título' => __ ( 'Exemplo' )
  38. ]
  39. );
  40. return $resultPageFactory ;
  41. }
  42. }

– Crie o arquivo de layout: app/code/Tutorial/Example/view/frontend/layout/example_index_index.xml

  1. <? xml versão = “1.0” codificação = “UTF-8” ?>
  2. <page xmlns:xsi = “http://www.w3.org/2001/XMLSchema-instance” layout = “3columns”
  3. xsi:noNamespaceSchemaLocation = “../../../../../../../lib/internal/Magento/Framework/View/Layout/
  4. etc/page_configuration.xsd” >
  5. <corpo>
  6. <referenceContainer name = “conteúdo” >
  7. < classe do bloco = “Magento\Framework\View\Element\Template” name = “tutorial_example_block”
  8. template = “Tutorial_Example::index.phtml” />
  9. </referenceContainer>
  10. </body>
  11. </page>

– Crie o arquivo de modelo: app/code/Tutorial/Example/view/frontend/templates/index.phtml

<h1> <? php echo __ ( 'Este é um módulo de exemplo!' ) ?> </h1>

Passo 3: Ative o módulo no arquivo de configuração do Magento 2

Vamos ativar este módulo abrindo app/etc/ config.php arquivo e adicione esta linha nele:

Em seguida, abra o Comando no Windows (ou o Terminal no Linux e MAC OS). Vá para a pasta raiz do Magento e execute esta linha de comando para instalar seu módulo:

bin\magento setup:upgrade

Por fim, limpe o cache do Magento e acesse com url http://localhost/magento2/example/index/index/

Visite o blog Magesolution para nunca perder nenhuma atualização ou tutorial sobre Magento 2.0