Pourquoi utiliser un thème lorsque vous avez des modules?

9

A l'intérieur de mon module personnalisé j'ai ajouté le fichier

Vendor/Theme/view/layout/default.xml

que j'utilise pour remplacer une grande partie des modèles globaux du site avec des modèles / blocs / mises en page à partir du module personnalisé. J'attache également mon propre style global qui existe dans le view/webrépertoire de ce module.

Dois-je plutôt utiliser un thème pour cela? Y a-t-il un bon argument pour un modèle de conception plutôt que pour l'autre? Par exemple. utiliser app/designplus app/code?

Daniel Thompson
la source

Réponses:

13

Vous pouvez faire tout ce que vous voulez, mais si c'est la bonne chose à faire, c'est la question ici.

Modules

Les modules doivent ajouter ou modifier les fonctionnalités de la boutique en ligne et doivent / pourraient être transférés vers d'autres boutiques en ligne Magento 2. Les modules peuvent avoir leur propre disposition, modèles et style et peuvent changer la disposition générale, les modèles et le style si cela est nécessaire pour la fonctionnalité de votre module. Les modules se concentrent principalement sur une seule fonctionnalité et sont donc (relativement) petits, ce qui fait que les boutiques en ligne Magento 2 en ont beaucoup.

Les modules peuvent facilement être activés et désactivés, ce qui fera apparaître ou disparaître les fonctionnalités spécifiques qu'ils ajoutent ou modifient. Cela ne devrait pas faire changer tout le site.

Thèmes

Les thèmes modifient la mise en page, les modèles et le style de la boutique en ligne mondiale et ne devraient ajouter ou supprimer aucune fonctionnalité. Bien que les thèmes emballés (payants) puissent inclure des fonctionnalités spéciales, cela se fait le plus souvent dans des modules qui accompagnent un tel thème. Les thèmes doivent être interchangeables, donc peuvent être appliqués à n'importe quelle boutique en ligne Magento 2, mais une boutique en ligne Magento 2 peut également changer de thème facilement (ou en avoir plusieurs par exemple dans une configuration multi-boutique).


Donc, si vous demandez où "remplacer une grande partie des modèles globaux du site avec des modèles / blocs / mises en page" , la réponse serait dans un thème .

Encore une fois, vous pouvez faire tout ce que vous voulez, mais si quelqu'un d'autre rejoint ou prend en charge le développement, il / elle s'attend à ce que les changements de thème global du site soient dans un thème et non dans un module. Lorsque les choses ne se font pas comme prévu, cela ralentit le développement et rend la maintenance difficile.

7ochem
la source
1
Exactement, je veux faire les choses correctement. Appréciez la réponse utile, je vais commencer à migrer certaines de ces modifications vers un thème.
Daniel Thompson
3

Cette réponse est ce que je pensais que cela ne pouvait pas être la norme Magento

Quand utiliser le thème pour la mise en page et les modèles et quand utiliser le module

Thème

Lorsque vous avez besoin que vos modifications soient un seul endroit, vous devez montrer que vos modifications doivent être différentes, dans un magasin ou un site Web différent et que vous avez plusieurs thèmes, vous pouvez effectuer des changements de thème directement

Module

lorsque vous développez un module ou une extension pour l'exigence et que vous pensez que vos modifications doivent être globales, vous mettez la disposition et le modèle dans le module lui-même

Ce que je suggère, faites toujours une copie principale dans le module et si vous voulez changer selon vos besoins, copiez le thème et faites des changements dans les modèles.

De cette façon, vous pouvez résoudre des problèmes comme si le thème est changé, puis les fichiers de vos modules étaient là

Murtuza Zabuawala
la source