¿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?

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.


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í

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.