Skins, paquetes y temas en Magento

Ya antes expliqué cómo se organizan dentro de la aplicación los skins.

Ubicando esos archivos, podríamos comenzar a modificar el skin para adaptarlo a nuestra preferencia.

Habiendo ahora alcanzado cierta capacidad para modificar el skin de nuestra tienda, vamos a ver cómo hacer para tener múltiples skins, y no sólo para el frontend, sino para toda la aplicación.

Vamos a tomar como caso a modificar, el del, por ahora, nuestro único frontend.

Como comento en el post mencionado al comienzo, los archivos de cualquier skin, se encuentran en dos directorios: /app/design y /skin.

Ahora bien, la estructura propuesta por Magento para la gestión de skins, permite un cómodo manejo y una facilidad de organización a la cual uno se acostumbra rápidamente.

Ya sea que desarrolles todos tus skins y los archives en un único repositorio junto al código de la aplicación, o bien, que tengas tu tienda funcionando pero te guste ir cambiando la apariencia del mismo; es posible mantener todos esos skins juntos, sin que por ello traiga algún problema.

En primer lugar, tanto en la carpeta /app/design como /skin, Magento separa al material en:

  • adminhtml: para el backend.
  • frontend: para el o los frontends (ya vamos a ampliar sobre múltiples vistas de una misma tienda)
  • install: para la apariencia que tendrá el instalador.

¿Qué es lo que podemos hacer entonces?.

Volviendo a las carpetas en dónde se almacena todo el material del cual disponemos, podemos ver la siguiente diferenciación:

/default/default

El primer default corresponde al nombre de lo que se denomina paquete. El segundo, corresponde al… bueno, la traducción no hará justicia; corresponde al tema.

Los paquetes funcionan como colecciones de temas que podemos usar.

Dicho esto, podríamos tener organizados nuestros temas de la siguiente forma.

/default/blank
/default/blue
/default/default
/default/modern

Tanto default, como blank, blue o modern; son temas que se encuentran disponibles dentro del paquete default.

De acá en más, dependerá de la forma en que nos guste más organizar nuestros skins. Podríamos crear otro paquete, y agrupar ahí nuestros temas, quedándonos algo como esto.

/paquete1/tema1
/paquete1/tema2

Esto nos permitiría separar claramente nuestros diseños de los provistos por la aplicación, y nos sería más fácil de resguardar o evitar que se pise con una actualización.

Si juntara lo comentado hasta ahora, tendríamos la siguientes carpetas.

/default/blank
/default/blue
/default/default
/default/modern
/paquete1/tema1
/paquete1/tema2

Para terminar de graficar ésta organización de los archivos, les dejo el path completo de cómo se verían en nuestra estructura de archivos, todos estos skins. Vale aclarar que los indico, a manera de ejemplo, para el frontend, pero se podría aplicar tanto al adminhtml como al install; permitiéndonos esto, cambiarle por completo la cara a la plataforma.

Nuestras carpetas quedarían así.

/app/design/frontend/default/blank
/app/design/frontend/default/blue
/app/design/frontend/default/default
/app/design/frontend/default/modern
/app/design/frontend/paquete1/tema1
/app/design/frontend/paquete1/tema2
/skin/frontend/default/blank
/skin/frontend/default/blue
/skin/frontend/default/default
/skin/frontend/default/modern
/skin/frontend/paquete1/tema1
/skin/frontend/paquete1/tema2

En el próximo post, vamos a ver cómo indicarle a Magento que utilice uno, u otro, o incluso, una mezcla de varios.