Como começar seu primeiro módulo - Magento 2
Onde escrever seu código?
É recomendado que os módulos sejam escritos na pasta app/code
e temas na pasta app/design
Começando o seu módulo
-
No Magento, temos o seguinte padrão: Primeiro criamos uma pasta com o nome da pessoa/empresa (no nosso caso, a pasta
Magentando
) responsável pelo desenvolvimento; E dentro desta pasta iremos criar as pastas dos módulos respectivamente. -
Na pasta
app/code
, crie uma pasta chamadaMagentando
;
Na pastaapp/code/Magentando
, crie uma pasta chamadaPopup
;
📂app
┣ 📂code
┃ ┣ 📂Magentando
┃ ┃ ┗ 📂Popup -
Dentro da pasta Popup, crie um arquivo chamado
registration.php
com o seguinte conteúdo:
No código abaixo utilizamos da classe ComponentRegistrar para registrar estaticamente um componente, chamamos a função register que recebe 3 parêmetros, são eles:- $type:
Esse parâmetro por padrão pode receber 4 tipos de componentes module, library, theme, language e setup; - $componentName:
Esse parâmetro recebe o nome do vendor/distribuidor, seguido pelo nome do módulo. Ex: Magentando_Popup ; - $path:
Esse parâmetro recebe o diretório do módulo. Ex: __ DIR __ (que pega o diretório atual);
- $type:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Magentando_Popup', __DIR__);
-
Na pasta
app/code/Magentando/Popup
, crie uma pasta chamadaetc
;
Nessa pasta vão as configurações do nosso módulo como banco de dados, injeções de dependência, api, etc. O único arquivo obrigatório nessa pasta é omodule.xml
; -
Na pasta
etc
crie um arquivo chamadomodule.xml
:
Seu maior uso é para versionar o módulo e definir uma sequência de load dos módulos dependentes, mas abordaremos isso nos próximos tutoriais.
<?xml version="1.0" ?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Magentando_Popup"/>
</config>
-
A estrutura do seu diretório deve ficar igual a essa:
📂app
┣ 📂code
┃ ┣ 📂Magentando
┃ ┃ ┗ 📂Popup
┃ ┃ ┃ ┣ 📂etc
┃ ┃ ┃ ┃ ┗ module.xml
┃ ┃ ┃ ┗ registration.php -
Execute os comandos:
bin/magento setup:upgrade
bin/magento setup:di:compile
- Você pode conferir sua instalação, você pode executar o comando:
Ele deve exibir a lista de módulos instalados, o seu deve estar constando:
Magentando_Popup
bin/magento module:status
Pronto, seu primeiro módulo está feito e resgistrado.