Magento 2 – Como criar um Módulo

Tutorial ensinando a como criar um Módulo no Magento 2, passo a passo de como criar uma estrutura básica de um módulo para que você possa complementar com Controllers, Rewrites, Blocks.

Este tutorial é muito importante para você que está começando.

Irei utilizar esta estrutura como base para diversos tutoriais que estarei disponibilizando no site sobre desenvolvimento no Magento 2.

Nunca faça o desenvolvimento de um módulo em um ambiente de produção. Vejo muitos desenvolvedores fazendo isso para entregar o código o quanto antes e essa pratica coloca a loja em um estado instável, gerando diversos erros para os usuários.

Magento 2 utiliza arquitetura MVC:

Model-view-controller (MVC), em português modelo-visão-controlador, é um padrão de arquitetura de software (não confundir com um design pattern) que separa a representação da informação da interação do usuário com ele. O modelo (model) consiste nos dados da aplicação, regras de negócios, lógica e funções.

Primeiro passo para criar o módulo no Magento 2

Primeiro passo..

Vamos criar os diretórios: app/code/Rogertakemiya/Test

A primeira parte do nome deverá ser a empresa/desenvolvedor que criou o módulo, no meu caso é Rogertakemiya (sem espaços!).

Já a segunda parte é o nome do módulo, é importante que o nome facilite a identificação da função do módulo.

Atenção: Caso você altere os nomes Rogertakemiya (vendorname) e Test (modulename), altere também as referencias desses diretórios nos próximos arquivos que iremos criar.

Segundo: module.xml

No diretório do nosso plugin Rogertakemiya/Test crie a pasta e arquivo /etc/module.xml

Conteúdo do module.xml:

<?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="Rogertakemiya_Test" setup_version="0.0.1"/>
</config>

Terceiro: registration.php

Agora vamos criar o arquivo registration.php no diretório:

app/code/Rogertakemiya/Test/registration.php

Conteúdo:

<?php
 \Magento\Framework\Component\ComponentRegistrar::register(
 \Magento\Framework\Component\ComponentRegistrar::MODULE,
 'Rogertakemiya_Test',
 __DIR__
 );

Quarto: habilitando o módulo

Primeiro execute o comando:

php bin/magento module:status

Você verá que o módulo esta desativado.

Agora para ativa-lo, execute:

php bin/magento module:enable Rogertakemiya_Test

Na sequência, execute:

bin/magento setup:upgrade

Quinto: Criando um Controller

Primeiro teremos que criar o arquivo routes.xml no diretório frontend em etc.

Rogertakemiya/Test/etc/frontend/routes.xml

Conteúdo:

<?xml version="1.0"?>
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd">
 <router id="standard">
 <route id="rogertakemiya" frontName="rogertakemiya">
 <module name="Rogertakemiya_Test" />
 </route>
 </router>
 </config>

Agora vamos criar o Controller, crie o arquivo Test.php dentro do diretório Controller/Test

Rogertakemiya/Test/Controller/Test/Test.php

Conteúdo do arquivo:

 <?php
 namespace Rogertakemiya\Test\Controller\Hello;
 
 class World extends \Magento\Framework\App\Action\Action
 {
 public function __construct(
 \Magento\Framework\App\Action\Context $context)
 {
 return parent::__construct($context);
 }
 
 public function execute()
 {
 echo 'Funcionou';
 exit;
 } 
 }

Para testar, acesse: www.sualoja.com/rogertakemiya/test/test

Conclusão de como criar um Módulo no Magento 2

Desenvolver na plataforma Magento não é uma tarefa fácil, consulte sempre a documentação oficial para gerar códigos de qualidade, evitando conflitos e bugs na loja.

Documentação Oficial: http://devdocs.magento.com/

2017-09-18T14:20:33+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x