Es probable que algunos de ustedes lean ese tema sobre temas desde cero para Magento 1: Theming - comenzando desde cero
Me preguntaba, ¿cuál sería la mejor práctica para desarrollar un tema desde cero para Magento 2?
- ¿Construyes usando el nativo
luma
o elblank
tema? O algo más ? - ¿Utiliza alguna extensión para ayudarlo a desarrollar su tema?
- ¿Qué pasos sigues al desarrollar un tema desde cero?
Respuestas:
TL: DR
Esto depende de usted, declarar un tema principal es opcional. Si no declara un padre, seguirá recurriendo a los módulos (por ejemplo, Magento_Catalog) que proporcionan archivos XML y de plantilla pero sin estilo.
Como prefiero trabajar con SCSS y GULP, ahora uso Frontools y el tema en blanco SCSS . Elimina mucho el estrés de lidiar con el flujo de trabajo predeterminado Grunt / LESS.
Mi opinión personal es que es mejor crear su propio "tema en blanco" desde cero, ya que puede adaptarlo para que sea exactamente lo que necesita.
Así es como crearía un tema desde cero, he usado NewStore / default como mi proveedor y nombre del tema.
Ahora para la respuesta más detallada ...
Crear el tema (según documentos oficiales)
Crea el tema según los documentos oficiales
Opcionalmente declarar un padre
Dentro de
app/design/frontend/NewStore/default/theme.xml
usted tiene la opción de declarar un tema principal o no, para este ejemplo, he dejado de lado la línea 3 (<parent>Vendor/theme</parent>
) para que no haya un tema principal . Esto significa que todas las plantillas / archivos de diseño provendrán de los módulos mismos y no de Blank o Luma, y no habrá estilo de tema ya que esto se agrega en el tema en blanco.Mi theme.xml se ve así:
Elimine el estilo (si establece un tema principal) y agregue su propio CSS
Si establece en blanco o Luma como padre, deberá evitar que se carguen los archivos CSS. Para hacer esto, cree
app/design/frontend/NewStore/default/Magento_Theme/layout/default_head_blocks.xml
y agregue el siguiente XML:Esto elimina
styles-m.css
,styles-l.css
yprint.css
agregados por el tema en blanco. También agrega styles.css como base para su propio CSS.Si no especificó un padre, puede eliminar las 3
<remove />
etiquetas en el código anterior.Agrega tu propio CSS
Ahora puede diseñar su tema como quiera, soy fanático de Sass en lugar de MENOS, así que agregué este archivo:
app/design/frontend/NewStore/default/web/css/styles.scss
Cambié el color de fondo aquí solo para demostrar que esto funciona, idealmente solo usarías este archivo para importar otros archivos Sass / Less.
Resultado
El resultado de lo que acabo de hacer es un tema sin estilo (aparte de mi hermoso fondo verde) que le permite diseñar su tema sin trabajar con el estilo de Magento (a veces difícil de trabajar).
Consejos
Si prefiere trabajar con SCSS y no tiene tiempo para crear un tema desde cero, le recomiendo usar Frontools y el tema en blanco SCSS de Snowdog Apps .
Me parece que el aspecto más frustrante de trabajar con el código de front-end de Magento es cuán específico es su estilo, para ayudar a evitar esto, recomendaría usar la convención de nomenclatura BEM al escribir su propio estilo.
También son importantes los comentarios útiles, si un desarrollador acostumbrado a trabajar con Luma / Blank trabajó en un tema creado desde cero, probablemente encontraría que las cosas funcionan de manera muy diferente a lo que esperan.
fuente
theme.xml
. Sin embargo, todavía hay todo tipo de estilos visibles en el front-end. La instalación de Magento está endeveloper
modo y se han borrado todas las memorias caché. No sé de dónde vienen todos estos estilos, ¿tienes una idea??=123
Hay muchos tutoriales para comenzar un tema en Magento 2.0. Proporciono algunos enlaces de video y algunos enlaces normales donde puede obtener un buen conocimiento sobre el desarrollo del tema en magento 2.0. haga clic aquí para ver el video
tomar referencia de estos enlaces también
http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/theme-create.html
http://blog.magestore.com/how-to-create-custom-theme-on-magento-2-part-1/
Desde este enlace aprenderá sobre la arquitectura frontend de magento 2.0
http://inchoo.net/magento-2/frontend-theme-architecture/
también revise estos dos enlaces
http://www.webmull.com/magento-2-create-new-custom-theme/
http://www.slideshare.net/Magestorecom/how-to-create-theme-in-magento-2-part-1
fuente
Heredo del espacio en blanco, pero avanzo rápidamente hacia el intento de crear un tema base más liviano que tenga una estructura CSS mucho menos compleja.
Vale la pena señalar que, en 2015, Magento salió y dijo que no recomiendan heredar de luma, ya que se reservan el derecho de realizar cambios no anunciados para sus propios fines de marketing y demostración. Más tarde revisaron esa declaración diciendo que su objetivo es permitir la herencia .
fuente
La mejor manera de comenzar a desarrollar un tema es comenzar heredando de
luma
oblank
. La razón de esto es porque están diseñados para ser receptivos (es decir, amigables con múltiples resoluciones). También reduce la cantidad de trabajo que tiene que hacer para crear los diferentes archivos de plantilla y las definiciones JS / CSS. Todo lo que tiene que hacer es anular solo las piezas que desea personalizar con las suyas. Consulte los enlaces a continuación para obtener diferentes instrucciones sobre cómo desarrollar un tema.Enlaces de documentación de Magento:
fuente