Eligiendo el Skin para las plantillas de Email en Magento

Una de las virtudes de Magento, es que a nivel funcional tiene cubiertos tantos temas que pareciera que uno no necesita nada más.

Una de sus contras, es que al momento de necesitar una mínima personalización, uno puede terminar sintiéndose perseguido por una multitud de líneas de código corriendo en círculos.

Hoy vamos a ver un pequeño truco, detalle, …… (complete la línea punteada con la palabra que mejor le resulte); que sirve para indicarle a la plantilla, de qué skin tomará las imagenes que se mostrarán en el caso de las plantillas html.

Si ya les tocó tener que personalizar esas plantillas, es probable que hayan visto dentro del código que imprime el logotipo, una línea parecida a la siguiente.

<td valign="top"><a href="{{store url=""}}"><img src="{{skin url="images/logo_email.gif" _area='frontend'}}" alt="Magento"  style="margin-bottom:10px;" border="0"/></a></td>

Un repaso rápido de las variables usadas:

  • {{store url=”"}} es el base_url de la tienda. Por ejemplo: http://www.mitienda.com.ar/
  • {{skin url=”…”}} transforma el source de la imagen a http://www.mitienda.com.ar/skin/frontend/default/default/ y le concatena images/logo_email.gif. Nos quedaría la siguiente url: http://www.mitienda.com.ar/skin/frontend/default/default/images/logo_email.gif.
  • {{skin url}} aplica una directiva: _area=’frontend’. Como vimos en el punto anterior, la imagen es tomada desde …/skin/frontend/. Si el valor de _area lo cambiamos por _area=’adminhtml’, el template buscará la imagen dentro del contenido del skin default/default del backend.

Hasta acá tenemos lo que a simple vista se ve y más o menos podíamos suponer.

Para la variable {{skin url}} tenemos dos directivas adicionales, no documentadas, que nos dan un poco más de flexibilidad. Un ejemplo podría ser:

<img src="{{skin url="images/logo_email.gif" _area='frontend' _package='paquete' _theme='tema'}}" alt="Magento"  style="margin-bottom:10px;" border="0"/>

Las dos “nuevas” directivas funcionan de la siguiente manera.

  • _package=’paquete’ determina de que paquete del skin se está hablando. Recuerden que los skins pueden estar conformados por múltiples paquetes con múltiples temas cada uno. Si usáramos como skin default/blue, default sería el paquete y blue el tema.
  • _theme=’tema’ hace exactamente lo mismo pero, obviedad mediante, a nivel tema.

De ésta forma, podríamos estar usando un skin determinado para nuestra tienda, y podríamos usar imagenes de otro skin en nuestros templates. En realidad, podríamos hacer tantas combinaciones y configuraciones como complicaciones o requerimientos nos lleguen.

A lo mejor te interese leer

This entry was posted in Magento and tagged , , , , . Bookmark the permalink.

4 Responses to Eligiendo el Skin para las plantillas de Email en Magento

  1. claudio desiderio says:

    bueno, q bien q venimos! 1 x dia

    Felicitaciones…

    Alguna novedad sobre el humor de la comunidad y la nueva realidad del enterprise de Magento?
    Siguen saliendo extensiones en la comunidad?
    Sigue creciendo la comunidad magento?

    Salutti

  2. Damián says:

    Parece que hay como cierta calma… al menos no aparecen tantos posts por todos lados quejándose.
    Creo que hay un estado de latencia a la espera del movimiento de Varien.
    Sobre las extensiones si hay movimiento, de hecho, da la sensación que no sólo aumentan en cantidad, sino también en calidad.

  3. claudio desiderio says:

    La unica manera de cargar las extensiones es a traves del connect?
    No se pueden agregar a mano como con el viejo oscommerce, en donde uno sabe que es lo que esta cambiando.

    Lei mas de una vez que se tilda el connect y a mi me paso de querer agregar el acelerador, freeman, o algo asi, y cuando quise entrar a la tienda de prueba q tenia, me habia desconfigurado el front. Sinceramente no se q paso y tampoco tuve tiempo de investigar.

  4. Damián says:

    No, no es la única forma. El punto radica en si tenés los archivos o no.
    Las extensiones disponibles en Magento Connect, sólo están disponible vía MagentoConnect.
    Si tenés extensiones propias o si, vamos a suponer, te pasan una extensión; podés simplemente copiar los archivos dentro de tu instancia de Magento.
    Yo cuando necesito probar alguna extensión, suelo hacerlo en entornos donde tengo Subversion, de manera que bajo todo, se me modifican los archivos, luego exporto los archivos de la extensión y hago un revert del código para dejarlo como lo tenía antes del Connect.
    Vale la pena rescatar que versión a versión ha mejorado MC, aunque siempre puede fallar.
    ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">