SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Como criar módulos
para Magento 2
Rafael Corrêa Gomes
Software Engineer at Redstage Magento Partner
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
Público
- Quantos desenvolvedores?
- Quantos lojistas?
- Quantos entusiastas M2?
Desafios Magento 1
- Configuração de implementação confusa
- Estrutura de módulo não unificada
- Difícil para testar
- Pouca documentação
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
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á
Onde os arquivos ficam
- vendor/ ou app/code?
- Qual a melhor opção?
E os módulos em ZIP
- Como instalar um módulo via ZIP?
Composer dentro do ZIP
Módulo via Composer
- Como instalar um módulo via Composer?
composer require vpietri/adm-quickdevbar
php -f bin/magento module:enable -c ADM_QuickDevBar
php -f bin/magento setup:upgrade
Módulo instalado https://goo.gl/uwg5Bb
Instalando via Magento Marketplace
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.
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.
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.
Resultado do módulo https://goo.gl/onaeeD
Arquivos mínimos
module.xml
registration.php
Criando nossa rota
Adicionando o phtml
Módulo instalado e desabilitado
Habilitando o módulo
Setup:upgrade
Resultado do módulo
Obrigado!
rafaelcgstz@gmail.com
@rafaelcgstz
https://rafaelstz.github.io
Slideshare
https://goo.gl/2HUvjT

Weitere ähnliche Inhalte

Was ist angesagt?

Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
WordPress como CMS
WordPress como CMSWordPress como CMS
WordPress como CMSleogermani
 
Oficina Joomla para Iniciantes
Oficina Joomla para IniciantesOficina Joomla para Iniciantes
Oficina Joomla para IniciantesEliel Cruz
 
Web 2.0 e AJAX - Parte 3 / 3
Web 2.0 e AJAX - Parte 3 / 3Web 2.0 e AJAX - Parte 3 / 3
Web 2.0 e AJAX - Parte 3 / 3David Ruiz
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteHaste Design
 
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
Wordpress - Mais que um gerenciador  de blogs, um CMS completo!Wordpress - Mais que um gerenciador  de blogs, um CMS completo!
Wordpress - Mais que um gerenciador de blogs, um CMS completo!Walter Araujo dos Santos
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre DrupalWebdrop
 
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?Vinícius Lourenço
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECRafael Pessoni
 
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCDo MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCJanderson Silva
 

Was ist angesagt? (20)

Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
Por que Joomla!? - Evidosol 2011
Por que Joomla!? - Evidosol 2011Por que Joomla!? - Evidosol 2011
Por que Joomla!? - Evidosol 2011
 
WordPress como CMS
WordPress como CMSWordPress como CMS
WordPress como CMS
 
Oficina Joomla para Iniciantes
Oficina Joomla para IniciantesOficina Joomla para Iniciantes
Oficina Joomla para Iniciantes
 
Web 2.0 e AJAX - Parte 3 / 3
Web 2.0 e AJAX - Parte 3 / 3Web 2.0 e AJAX - Parte 3 / 3
Web 2.0 e AJAX - Parte 3 / 3
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmente
 
Webforms2
Webforms2Webforms2
Webforms2
 
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
Wordpress - Mais que um gerenciador  de blogs, um CMS completo!Wordpress - Mais que um gerenciador  de blogs, um CMS completo!
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre Drupal
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
PWA
PWAPWA
PWA
 
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
FISL17 - Vinícius Lourenço | WordPress - Como começar e o que dá para ser feito?
 
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATECAplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
Aplicações Web Multiplataforma com ASP .NET Core MVC - FATEC
 
Angular js 4php
Angular js   4phpAngular js   4php
Angular js 4php
 
É possível desenvolver com Windows
É possível desenvolver com WindowsÉ possível desenvolver com Windows
É possível desenvolver com Windows
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVCDo MVP ao PWA, melhorando o engajamento com cliente na CVC
Do MVP ao PWA, melhorando o engajamento com cliente na CVC
 

Ähnlich wie Como criar módulos para magento 2

Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Alefe Variani
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
Desenvolvendo para magento - primeiros passos
Desenvolvendo para magento - primeiros passosDesenvolvendo para magento - primeiros passos
Desenvolvendo para magento - primeiros passosRicardo Martins
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...jCursos
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...JP Clementi
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPElton Minetto
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Mini Curso - Venha Joomlar você também! - InfoWeek 2009
Mini Curso - Venha Joomlar você também! - InfoWeek 2009Mini Curso - Venha Joomlar você também! - InfoWeek 2009
Mini Curso - Venha Joomlar você também! - InfoWeek 2009Daniel Caixeta Queiroz Garcia
 
MDA – Sistemas Distribuidos
MDA – Sistemas DistribuidosMDA – Sistemas Distribuidos
MDA – Sistemas Distribuidoselliando dias
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Jaime Neto
 
Enterprise services com .net
Enterprise services com .netEnterprise services com .net
Enterprise services com .netFernando Palma
 

Ähnlich wie Como criar módulos para magento 2 (20)

Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!Zend Framework 2 é legal ! Mas como ele funciona ?!
Zend Framework 2 é legal ! Mas como ele funciona ?!
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Webinar Magento Commerce
Webinar Magento Commerce Webinar Magento Commerce
Webinar Magento Commerce
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Desenvolvendo para magento - primeiros passos
Desenvolvendo para magento - primeiros passosDesenvolvendo para magento - primeiros passos
Desenvolvendo para magento - primeiros passos
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
Criação de sites Joomla com CCKs e frameworks de template - Joomla Day Ribeir...
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Mini Curso - Venha Joomlar você também! - InfoWeek 2009
Mini Curso - Venha Joomlar você também! - InfoWeek 2009Mini Curso - Venha Joomlar você também! - InfoWeek 2009
Mini Curso - Venha Joomlar você também! - InfoWeek 2009
 
MDA – Sistemas Distribuidos
MDA – Sistemas DistribuidosMDA – Sistemas Distribuidos
MDA – Sistemas Distribuidos
 
Seu framework é melhor pra quê?
Seu framework é melhor pra quê?Seu framework é melhor pra quê?
Seu framework é melhor pra quê?
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Enterprise services com .net
Enterprise services com .netEnterprise services com .net
Enterprise services com .net
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 

Mehr von Rafael Corrêa Gomes

Prevendo riscos de grandes projetos - Rafael Correa Gomes
Prevendo riscos de grandes projetos - Rafael Correa GomesPrevendo riscos de grandes projetos - Rafael Correa Gomes
Prevendo riscos de grandes projetos - Rafael Correa GomesRafael Corrêa Gomes
 
Shopify Hydrogen - Devs Meetup Brasil
Shopify Hydrogen - Devs Meetup BrasilShopify Hydrogen - Devs Meetup Brasil
Shopify Hydrogen - Devs Meetup BrasilRafael Corrêa Gomes
 
Ecommerce Tech Summit - Login without forms - Geekle
Ecommerce Tech Summit - Login without forms - GeekleEcommerce Tech Summit - Login without forms - Geekle
Ecommerce Tech Summit - Login without forms - GeekleRafael Corrêa Gomes
 
Optimizing your development process with Adobe Commerce
Optimizing your development process with Adobe CommerceOptimizing your development process with Adobe Commerce
Optimizing your development process with Adobe CommerceRafael Corrêa Gomes
 
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa Gomes
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa GomesMageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa Gomes
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa GomesRafael Corrêa Gomes
 
Google Lead Generation UX Playbook
Google Lead Generation UX PlaybookGoogle Lead Generation UX Playbook
Google Lead Generation UX PlaybookRafael Corrêa Gomes
 
Improving the user experience using Magento 2 Credential Management
Improving the user experience using Magento 2 Credential ManagementImproving the user experience using Magento 2 Credential Management
Improving the user experience using Magento 2 Credential ManagementRafael Corrêa Gomes
 
Google eCommerce UX Playbook for Retail
Google eCommerce UX Playbook for RetailGoogle eCommerce UX Playbook for Retail
Google eCommerce UX Playbook for RetailRafael Corrêa Gomes
 
Optimize your development workflow
Optimize your development workflowOptimize your development workflow
Optimize your development workflowRafael Corrêa Gomes
 
Dicas de carreira internacional para desenvolvedores Magento
Dicas de carreira internacional para desenvolvedores MagentoDicas de carreira internacional para desenvolvedores Magento
Dicas de carreira internacional para desenvolvedores MagentoRafael Corrêa Gomes
 

Mehr von Rafael Corrêa Gomes (17)

Prevendo riscos de grandes projetos - Rafael Correa Gomes
Prevendo riscos de grandes projetos - Rafael Correa GomesPrevendo riscos de grandes projetos - Rafael Correa Gomes
Prevendo riscos de grandes projetos - Rafael Correa Gomes
 
Shopify Hydrogen - Devs Meetup Brasil
Shopify Hydrogen - Devs Meetup BrasilShopify Hydrogen - Devs Meetup Brasil
Shopify Hydrogen - Devs Meetup Brasil
 
Ecommerce Tech Summit - Login without forms - Geekle
Ecommerce Tech Summit - Login without forms - GeekleEcommerce Tech Summit - Login without forms - Geekle
Ecommerce Tech Summit - Login without forms - Geekle
 
Optimizing your development process with Adobe Commerce
Optimizing your development process with Adobe CommerceOptimizing your development process with Adobe Commerce
Optimizing your development process with Adobe Commerce
 
Projetos e processos Magento 2
Projetos e processos Magento 2Projetos e processos Magento 2
Projetos e processos Magento 2
 
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa Gomes
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa GomesMageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa Gomes
MageConf 2020 - Deep dive into an Innovations Lab project - Rafael Correa Gomes
 
Google Travel UX Playbook
Google Travel UX PlaybookGoogle Travel UX Playbook
Google Travel UX Playbook
 
Google Lead Generation UX Playbook
Google Lead Generation UX PlaybookGoogle Lead Generation UX Playbook
Google Lead Generation UX Playbook
 
Magento 2 Deploy Strategies
Magento 2 Deploy StrategiesMagento 2 Deploy Strategies
Magento 2 Deploy Strategies
 
Improving the user experience using Magento 2 Credential Management
Improving the user experience using Magento 2 Credential ManagementImproving the user experience using Magento 2 Credential Management
Improving the user experience using Magento 2 Credential Management
 
Google eCommerce UX Playbook for Retail
Google eCommerce UX Playbook for RetailGoogle eCommerce UX Playbook for Retail
Google eCommerce UX Playbook for Retail
 
Ecommerce Mobile Optimization
Ecommerce Mobile OptimizationEcommerce Mobile Optimization
Ecommerce Mobile Optimization
 
Innovate with payment methods
Innovate with payment methodsInnovate with payment methods
Innovate with payment methods
 
Optimize your development workflow
Optimize your development workflowOptimize your development workflow
Optimize your development workflow
 
Dicas de carreira internacional para desenvolvedores Magento
Dicas de carreira internacional para desenvolvedores MagentoDicas de carreira internacional para desenvolvedores Magento
Dicas de carreira internacional para desenvolvedores Magento
 
Why Magento?
Why Magento?Why Magento?
Why Magento?
 
Utilizando a API do Magento 2
Utilizando a API do Magento 2Utilizando a API do Magento 2
Utilizando a API do Magento 2
 

Como criar módulos para magento 2