1. Como criar módulos
para Magento 2
Rafael Corrêa Gomes
Software Engineer at Redstage Magento Partner
2. Sobre
Rafael Corrêa Gomes
- Core Magento 2
- +40 artigos para a Envato (criadora do Themeforest)
- Segundo maior contribuidor mundial do Devdocs
- Professor Magento na única escola do Brasil reconhecida pela ABComm
Redstage
- Localizada em NYC, Chicago, London, Mumbai e São Paulo
- +600 ecommerces
4. Desafios Magento 1
- Configuração de implementação confusa
- Estrutura de módulo não unificada
- Difícil para testar
- Pouca documentação
5. Sobre o Magento 2
- Suporte ao PHP7
- Colaboração via Github
- Baseado em Composer
- Injeção de dependência
- PSR (1 2 3 4)
- Tecnologias frontend atualizadas
- CLI Tool extensível
- Cobertura de testes & Framework
6. Você precisa saber
- Se usa uma class por action (diferente do M1)
- Todas as dependências precisam ser injetadas via __contruct
- As rotas ficam em route.xml
- Mais lógica movida para as classes blocks
- Template e layout movido para a pasta do módulo
- EAV e Eventos continuam lá
7. Onde os arquivos ficam
- vendor/ ou app/code?
- Qual a melhor opção?
8. E os módulos em ZIP
- Como instalar um módulo via ZIP?
13. Pastas comuns de módulos M2
Block - Classes view do MVC.
Controller - Lógicas do módulo.
etc - Arquivos de config (incluindo o module.xml).
Model - Comunicação com o banco.
Setup - Scripts de estrutura do DB e instalação.
14. Pastas adicionais de módulos M2
Api - Arquivo view.xml responsável pelo tamanho de imagens.
i18n - traduções (caso existam).
media - Preview do tema.
web - Arquivos estáticos como css, less, js, imagens e fonts.
15. Criando um módulo Hello world! no M2
Objetivos do módulo
- Criar uma nova página.
- Usar o arquivo routes.xml.
- Criar um xml e phtml para controlar essa nova página.