Variable media en las plantillas de email de Magento

Uno de los pocos cambios de la nueva versión de la plataforma, consiste en el agregado de la variable “media” para la composición de los templates de email.

Su uso es absolutamente sencillo.

Al igual que cuando invocamos {{skin url=”"}} para imprimir algún contenido de un skin dado, la variable media utiliza el mismo parámetro.

<img src="{{media url="imagen.jpg"}}" alt="Magento" border="0"/></a>

Esto hará que se busque la imagen dentro de la carpeta media. Si usáramos subcarpetas, deberemos escribir el path partiendo siempre desde dicha carpeta.

Si bien puede parecer una pavada la inclusión del template, su uso puede entenderse en el caso de campañas de promoción, en las cuales podríamos utilizar (es sólo un ejemplo para graficar) el mismo banner que tenemos en la home de la tienda, en el cuerpo del mail.

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.

Continue reading

Evitar comentarios vacíos en los commits de SVN

De más está decir que la intención de los comentarios en un commit es para que, si hay que trazar una modificación, exista una aclaración o especificación coloquial de lo que se estuvo haciendo.

A veces, ya sea por vagos o distraídos, puede ser que se nos pase por alto ingresar el comentario al commit que estamos realizando.

Si bien podríamos considerar esto como una mala práctica (el no ingresar los comentarios), en pequeños desarrollos, en los cuales trabajemos solos (o casi), esto no traería mayores consecuencias.

Muy distinto es el efecto si llevamos ésta cuestión a proyectos grandes (tanto en código como en personas).

Para evitar que se filtren los comentarios vacíos, podemos ajustar nuestro repositorio para que valide dicha condición y nos impida ingresar el commit.

Para empezar, vamos al directorio

cd /path/a/mi/repositorio/hooks

Dentro del directorio vamos a ver los varios archivos .tmpl que tiene nuestro repositorio por defecto. A nosotros nos va a interesar trabajar con pre-commit. Veamos paso a paso como habilitarlo y aplicar nuestra regla para evitar comentarios vacíos.

Copiamos pre-commit.tmpl y le damos permiso de ejecución a nuestra copia.

cp pre-commit.tmpl pre-commit
chmod +x pre-commit

Continue reading

Relocalización de repositorios SVN

Retomo nuevamente el tema repositorios, y en particular con Subversion.

El comando svn que vamos a ver hoy se llama switch.

Con ésta herramienta podemos ir alternando nuestro proyecto (o parte de él) con los distintos branches que tenga el repositorio, y también podemos apuntar el proyecto entero a otra dirección de repositorio.

Yo me voy a centrar en ésta última parte, en la de la relocalización de un repositorio entero.

La primera pregunta sería: ¿por qué tengo que relocalizar el repositorio?. El escenario más común podría consistir en que por cuestiones externas al desarrollador, la dirección inicial usada para el checkout ya no esté disponible y ahora el mismo repositorio esté accesible a través de otra url.

Si éste es nuestro caso, para poder seguir trabajando sin tener que hacer un nuevo checkout y padecer todos los problemas que ello implique, basta con volver a apuntar nuestra copia local con la nueva url.

La forma de hacerlo sería la siguiente.

cd /path/a/copia/local
svn switch --relocate http://url.original/repositorio/trunk http://url.nueva/repositorio/trunk .

Espero que el ejemplo sea claro.

Primero, nos paramos en el directorio en el cual se encuentra nuestra copia de trabajo, y luego corremos el comando agregándole el parámetro –relocate junto con la url original y seguida a esa, la nueva url.

Un detalle, el punto final es parte del comando.

Otro detalle, y el último, es que lo que cambia es la url, pero no el repositorio físico. El repositorio físico debe ser el mismo con el que estábamos trabajando.

Dc_CurrencySwitcher (otro módulo para Magento)

El sábado por la tarde publiqué un post sobre cómo modificar el selector de monedas en Magento.

Si bien mi intención era publicarlo hoy mismo como extensión, por cuestiones de tiempo, sólo adelanto las capturas del plugin en funcionamiento.

Ahora si, las pantallas de lo que podría llamarse la versión alpha.

Dc Currencyswitcher activado en el backend de Magento

Continue reading