¿Por qué usar un tema cuando tienes módulos?

9

Dentro de mi módulo personalizado he agregado el archivo

Vendor/Theme/view/layout/default.xml

que estoy usando para anular muchas de las plantillas globales del sitio con plantillas / bloques / diseños del módulo personalizado. También adjunto mi propio estilo global que existe en el view/webdirectorio de ese módulo.

¿Debería usar un tema para esto? ¿Existe un buen argumento para un patrón de diseño sobre el otro? P.ej. usando app/designmás app/code?

Daniel Thompson
fuente

Respuestas:

13

Usted puede hacer cualquier cosa que usted quiere, pero si es lo correcto de hacerlo es la cuestión aquí.

Módulos

Los módulos deberían agregar o cambiar la funcionalidad de la tienda web y deberían / ​​podrían transferirse a otras tiendas web Magento 2. Los módulos pueden tener su propio diseño, plantillas y estilo y pueden cambiar el diseño general, las plantillas y el estilo si es necesario para la funcionalidad de su módulo. Los módulos se centran principalmente en una única funcionalidad y, por lo tanto, son (relativamente) pequeños y eso hace que las tiendas web de Magento 2 tengan muchas.

Los módulos se pueden habilitar y deshabilitar fácilmente, lo que hará que la funcionalidad específica que agreguen o cambien aparezca o desaparezca. No debería causar que todo el sitio cambie.

Temas

Los temas cambian el diseño, la plantilla y el estilo de la tienda web global y no deben agregar o eliminar funcionalidades. Aunque los temas empaquetados (pagos) podrían incluir características especiales, esto se hace con mayor frecuencia en módulos que acompañan a dicho tema. Los temas deben ser intercambiables, por lo tanto, se pueden aplicar a cualquier tienda web Magento 2, pero también una tienda web Magento 2 puede cambiar temas fácilmente (o tener múltiples, por ejemplo, en una configuración de tienda múltiple).


Entonces, si pregunta dónde "anular muchas de las plantillas globales del sitio con plantillas / bloques / diseños" , la respuesta estaría en un tema .

Una vez más, puede hacer cualquier cosa que desee, pero si alguien más se uniera o se hiciera cargo del desarrollo, él / ella esperaría que los cambios del tema global del sitio estén en un tema y no en un módulo. Cuando las cosas no se hacen como se esperaba, esto ralentiza el desarrollo y dificulta el mantenimiento.

7ochem
fuente
1
Exactamente, quiero hacer las cosas de la manera correcta. Agradezco la útil respuesta, comenzaré a migrar algunos de estos cambios a un tema.
Daniel Thompson
3

Esta respuesta es lo que pensé que no podría ser el estándar de Magento

Cuándo usar el tema para el diseño y las plantillas y cuándo usar el Módulo

Tema

Cuando necesite que los cambios se realicen en un solo lugar, debe mostrar que los cambios deben tener un aspecto diferente, en una tienda o sitio web diferente y tiene varios temas, entonces puede hacer cambios en el tema directamente

Módulo

cuando está desarrollando cualquier módulo o extensión para el requisito y cree que sus cambios deberían ser globales, entonces coloca el diseño y la plantilla en el módulo mismo

Lo que sugiero siempre debe hacer una copia maestra en el módulo y si desea cambiar de acuerdo con sus requisitos, copie el tema y realice cambios en las plantillas.

De esta manera, puede resolver problemas como si el tema cambiara, entonces también sus archivos de módulos estaban allí

Murtuza Zabuawala
fuente