Por que usar um tema quando você tem módulos?

9

Dentro do meu módulo personalizado, adicionei o arquivo

Vendor/Theme/view/layout/default.xml

que estou usando para substituir muitos modelos globais do site por modelos / blocos / layouts do módulo personalizado. Também estou anexando meu próprio estilo global que existe no view/webdiretório desse módulo.

Em vez disso, devo usar um tema para isso? Existe um bom argumento para um padrão de design sobre o outro? Por exemplo. usando app/designmais app/code?

Daniel Thompson
fonte

Respostas:

13

Você pode fazer o que quiser, mas se é a coisa certa a fazer, é a questão aqui.

Módulos

Os módulos devem adicionar ou alterar a funcionalidade da loja virtual e devem / podem ser transferidos para outras lojas virtuais Magento 2. Os módulos podem ter seu próprio layout, modelos e estilo e podem alterar o layout geral, modelos e estilo, se necessário para a funcionalidade do seu módulo. Os módulos se concentram principalmente em uma única funcionalidade e, portanto, são (relativamente) pequenos, o que faz com que as oficinas Magento 2 tenham muitas.

Os módulos podem ser facilmente ativados e desativados, o que fará com que a funcionalidade específica que eles adicionam ou alterem apareça ou desapareça. Não deve causar a alteração de todo o site.

Temas

Os temas alteram o layout, modelo e estilo da loja virtual global e não devem adicionar ou remover funcionalidades. Embora os temas empacotados (pagos) possam incluir recursos especiais, isso geralmente é feito em módulos que acompanham esse tema. Os temas devem ser intercambiáveis, portanto, podem ser aplicados a qualquer loja virtual Magento 2, mas também uma loja virtual Magento 2 pode alternar temas facilmente (ou ter vários, por exemplo, em uma configuração de várias lojas).


Portanto, se você perguntar onde "substituir muitos modelos globais do site por modelos / blocos / layouts" , a resposta estaria em um tema .

Novamente, você pode fazer o que quiser, mas se outra pessoa ingressar ou assumir o desenvolvimento, ele esperaria que as alterações do tema global do site estivessem em um tema e não em um módulo. Quando as coisas não são feitas conforme o esperado, isso atrasa o desenvolvimento e dificulta a manutenção.

7ochem
fonte
11
Exatamente, eu quero fazer as coisas da maneira certa. Aprecie a resposta útil, começarei a migrar algumas dessas alterações para um tema.
Daniel Thompson
3

Esta resposta é o que eu pensei que isso não poderia ser o padrão Magento

Quando usar o tema para layout e modelos e quando usar o Módulo

Tema

Quando você precisar que suas alterações sejam um local, você precisa mostrar que elas devem ser diferentes, em uma loja ou site diferente e você tiver vários temas, então poderá fazer alterações diretamente no tema

Módulo

quando você está desenvolvendo qualquer módulo ou extensão para o requisito e acha que suas alterações devem ser globais, você coloca o layout e o modelo no próprio módulo

O que eu sugiro sempre faça uma cópia principal no módulo e, se você desejar alterar de acordo com seus requisitos, copie o tema e faça alterações nos modelos.

Dessa forma, você pode resolver problemas, como se o tema for alterado, e também os arquivos dos módulos.

Murtuza Zabuawala
fonte