Quando comecei a trabalhar com Magento fui aprendendo aos poucos. Algumas coisas aprendi logo, outras tomei conhecimento um bom tempo depois. Às vezes me deparo com uma informação e penso: “Isso teria me ajudado muito no começo”. Então vou reunir algumas breves informações em uma série de postagens. Espero que te ajude no dia a dia.
1. Modo de deploy
É importante conhecer os modos de deploy do Magento. Se você está desenvolvendo uma loja, é interessante usar o modo developer. Caso a loja já esteja publicada e pronta pra vender, ela deve estar em modo production.
Quando clonamos uma loja em produção para o nosso ambiente local, mudamos o modo de deploy dessa cópia que está no ambiente local para developer.
Para ver qual modo está atualmente configurado na loja, usamos o seguinte comando:
bin/magento deploy:mode:show
O Magento possui quatro modos (confira a documentação aqui):
- Production: Modo mais rápido, usa todos os caches, os arquivos são pré compilados e os erros são registrado em arquivos.
- Developer: Mais lento, a compilação de arquivos ocorre em tempo real, os erros são mostrados ao usuário e o log é detalhado.
- Default: É um híbrido dos modos developer e production. Ele é o modo padrão, já vem definido na instalação do Magento.
- Maintenance: Quando está ativo, redireciona os usuários para uma página de “Serviço Temporariamente Indisponível” e o arquivo
.maintenance.flag
é criado no diretóriovar/
2. Sample data
Muito útil para estudar. O Magento possui módulos que injetam conteúdo de exemplo na loja. Assim conseguimos em alguns minutos uma loja com clientes, pedidos, produto, páginas e blocos.
No devdocs temos algumas formas de instalar o sample data. Lembrando que eu não recomendo que seja instalado em lojas que estão sendo desenvolvidas para ir pra produção. Só remomendo utilizar para fins de estudos.
3. Vendor x App
Os módulos instalados via composer vão para o diretório vendor/
. Estes arquivos não são versionados e não devemos fazer alterações neles (assim como não devemos editar arquivos dentro de pub/static/
). Nossos ajustes e qualquer desenvolvimento é centralizado no diretório app/
. Módulos são colocados em app/code/
e temas em app/design/
.
4. Convênções de nomenclatura
Existem convenções para os nomes dos módulos. O nome do módulo, por exemplo, segue o padrão Vendor_MeuModulo. O vendor é um nome único. Por exemplo, os módulos do core do Magento tem o nome Magento. Nos módulos que desenvolvo para estudo, coloco o nome do vendor como Salzano.
Já o nome do módulo é escrito em UpperCamelCase. Então, por exemplo, o módulo de Product Alert do Magento tem o nome Magento_ProductAlert.
Existe um nome de módulo que devemos evitar: o termo Ui. De acordo com a documentação do Magento, isso se dá porque a nomenclatura Vendor_Ui, que seria requisitada quando especificar caminhos, pode causar problemas.
5. Template Hints
Precisa alterar um template de alguma página, mas não tem ideia de onde está o arquivo?
Uma forma rápida de encontrá-lo é habilitar as dicas de template do Magento. Isso pode ser feito tanto pelo painel administrativo quanto pela linha de comando.
Pelo painel, vamos em Lojas -> Configurações -> Avançado -> Desenvolvedor. Na tag Debug há a opção “Ativar dicas de caminho de template”. Marcamos sim e costumo usar com a opção de parâmetro na URL. Assim habilito as dicas acrescentando ?templatehints=magento
à URL.
Uma outra forma de habilitar é com o comando:
bin/magento dev:template-hints:enable
E para desabilitar:
bin/magento dev:template-hints:disable
Sobre a imagem que ilustra o post

A pintura “Landscape with Two Oaks”, de Jan van Goyes, feita em 1641. Obtida da coleção de arte do Rijksmuseum, o museu nacional da Holanda.
“Os dois carvalhos retorcidos, brilhantemente iluminados por alguns raios de sol, destacam-se nitidamente contra o céu ameaçador. Van Goyen desenhou as árvores com seu pincel. Ele usou tinta fina e quase transparente para a folhagem e tinta grossa e granulada para os troncos sulcados. A paleta quase monocromática da paisagem é animada pelos gibões azuis e vermelhos das duas figuras em repouso.”
Rijksmuseum