Questões gerais

Aprendendo Magento: dicas úteis – Parte 1

· 2 min read >

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ório var/

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

Landscape with Two Oaks - Jan van Goyen
Landscape with Two Oaks, Jan van Goyen, 1641

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