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

Habilitar el uso de múltiples monedas en Magento

Si bien algo asincrónico, vamos a ver cómo habilitar múltiples monedas para las compras en Magento.

Los pasos son bastante sencillos. A manera de manual de bolsillo, vamos a repasar rápidamente cómo se debe configurar este aspecto en la plataforma.

Para encontrar ésta opción vayan a: Sistema -> Configuración -> General -> Tasa de cambio.

(En realidad, Tasa de cambio es una traducción, el nombre original es Currency setup).

Configurar la moneda en Magento

Como pueden ver, además del tipo de moneda contamos con otras opciones.

Antes de seguir, vamos a hablar de otra herramienta del backend que se convierte en condición excluyente para poder utilizar más de una moneda.

Continue reading

Formulario de Contacto con Contact Form 7 para WordPress

Hace un tiempo puse en funcionamiento el formulario de contacto en el blog.

Para esto recurrí a un plugin del que poco había escuchado pero que me ha resultado bastante cómodo y flexible. El plugin en cuestión se llama Contact Form 7.

Una vez instalado, vamos a tener una nueva opción dentro de nuestro menú de herramientas.

Acceso a la configuración de Contact Form 7

Al acceder al plugin, vamos a ver todas las posibilidades que ofrece éste plugin.

Panel de Contact Form 7

Las opciones son varias, así que vamos a revisar bloque por bloque para entender un poco mejor de qué se trata.

Continue reading

Redirigir o no redirigir cuando agregamos al Carrito, esa es la cuestión

A pesar de lo poético del título, el post se trata de una pequeña configuración que podemos hacer a nuestro Carrito, en pro de modificar la experiencia del usuario.

Por defecto, estando en un detalle de producto, luego de agregarlo al Carrito, somos reenviados a la página de detalle del Carrito en si mismo.

La secuencia sería la siguiente.

En primer lugar buscamos nuestro producto y lo agregamos.

Agregando un Producto al Carrito en Magento

Lo próximo que vemos es la confirmación de este paso, pero en la página del Carrito.

Confirmación del Carrito, en la página del Carrito de Magento

Ahora bien, ésta es una de las dos formas que tenemos para manejar este proceso.

Personalmente, prefiero la segunda, la que nos permite hacer lo mismo, pero sin salir del detalle del producto que estábamos viendo.

Continue reading

Notificaciones por correo desde Subversion

El escenario es el siguiente. Varios desarrolladores, con una carga importante de trabajo, y alguien que tiene que intentar controlar el código que se commitea al respositorio.

Sumémosle a ese alguien, la tarea de desarrollar y tener sus propias actividades.

Bajo ese escenario, se hace casi imposible llevar un control de las modificaciones que se realizan al código.

Para quienes nos identificamos con ese alguien, y que, además, usamos Subversion, existe una funcionalidad que podemos explotar desde el repositorio, para evitar perderle los pasos a la situación.

Vamos a configurar un poquito el repositorio para que, luego de cada commit, nos envíe un correo informándonos de lo sucedido.

Para eso, empezemos por ingresar a la carpeta hooks del repositorio.

cd /path/a/mi/repositorio/hooks

Continue reading

Configurar remitentes de mail en Magento

Magento utiliza una serie de correos para notificar tanto a los usuarios del backend como a los compradores, de distintos eventos o situaciones.

En el post anterior vimos que al configurar las opciones del correo que se envía al llenar el formulario de contacto, podíamos elegir también quién sería el remitente.

Los remitentes posibles son 5, y se configuran llendo a Sistema -> Configuración -> Direcciones de E-mail.

La pantalla, bastante sencilla, es la siguiente.

Las cuentas a configurar son:

  • Contacto general.
  • Representante de ventas.
  • Atención al cliente.
  • Personalizado 1.
  • Personalziado 2.

Cuando estemos configurando el envío de un mail en particular, así como fue el del ejemplo del formulario de Contacto, vamos a poder elegir qué remitente queremos usar (la selección se hace con una selección prefijada).

Al seleccionarlo, se aplicarán los valores que dejemos configurados en éste módulo.

Este post peca de sencillo, pero estoy seguro que más de uno habrá recibido un mail sales@example.com o de owner@example.com cuando hacía sus pruebas.

Personalizando los emails de Magento

Hace un tiempo, vimos como hacer para dejar la aplicación en nuestro idioma (sea cual sea).

Si prestamos atención a la carpeta de los archivos de idioma, vamos a ver que contiene una subcarpeta, llamada templates, que a su vez contiene a otra llamda email.

Dentro de ésta última, encontramos una serie de archivos html, que son las plantillas que se utilizan al enviarse un correo.

Por defecto, los mails vienen en inglés. Si bajamos la última versión de nuestro idioma, puede que consigamos traducciones de esos archivos, pero seguramente, siempre vamos a necesitar ajustarlos a la realidad de nuestro proyecto.

Para el ejemplo, vamos a tomar el mail que se envía en el formulario de contacto.

Lo encontramos en

/app/locale/en_US/template/email/contact_form.phtml

Continue reading