Archivo de la etiqueta: tips

Personalizar el símbolo de la Moneda en Magento

Varios de los posts que he estado escribiendo en el último tiempo tienen que ver con pequeñas modificaciones que he tenido que arreglar, ya que la gran mayoría estaban aplicadas sobre archivos core.

Uno de los cambios muy comunes que suelen aparecer, al momento de actualizar la versión de Magento, se relaciona con la moneda (ya no tanto con el símbolo, pero si con la posición del mismo). Normalmente vamos a encontrar que los XML de localización del Zend Framework han sido modificados.

Para el símbolo, la forma correcta es usar el administrador de monedas, ubicado en System -> Manage Currency -> Symbols.

Administrador de símbolos de Moneda en Magento

Es aquí donde tendremos la posibilidad de redefinir el símbolo que usarán las monedas habilitadas.

Por ejemplo:

Edición del símbolo de la Moneda en Magento

Luego de actualizar cache, si vamos al frontend, el cambio ya estará aplicado.

Ejemplo de símbolo de Moneda personalizado en Magento

Ahora sólo nos falta cómo, con buenas prácticas, vamos a cambiar la posición del símbolo que hayamos definido.

Sigue leyendo

Cómo crear Widgets en Magento

Si bien este es un tema viejo (los widgets fueron implementados en febrero de 2010 con la versión 1.4.0.0 de Magento), todavía hay proveedores proyectos que fuerzan al cliente a manejar el contenido CMS copiando y pegando html puro y duro (si, en el año 2014).

Los casos más burdos vistos involucran:

  • slider
  • productos nuevos
  • productos destacados
  • página de promociones

¿Por qué es esto un problema?.

Si nos olvidamos del dolor de cabeza que puede implicar para un usuario no familiarizado con código html copiar y pegar el contenido de forma correcta, pensemos en el caso en donde en la página principal queremos mostrar un grupo de productos destacados.

Al haber copiado y pegado html, ese contenido es estático. Si es estático y uno de los productos se quedó sin stock, el producto seguirá mostrando la posibilidad de agregarlo al carrito (en lugar de bloquear el call to action).

A ésta altura, ya no estamos complicando el trabajo de aquellos que deben gestionar la tienda, sino que además, estamos molestando a los compradores.

Sigue leyendo

Obtener el nombre del bloque del layout desde el phtml en Magento

Hace unos días me tocó lidiar con un proyecto (de esos, de los heredados) en el cual la implementación del theme está algo… desprolija.

En una de las tareas necesitaba depurar no sólo los bloques, haciendo uso del Template Path Hints, sino que ante la repetición de archivos de prueba, viejos backups, lógicas y demás líos, se hacía algo molesto localizar alguno de los archivos phtml que se estaban aplicando.

Por suerte, la clase Mage_Core_Block_Abstract nos ofrece una ayuda extra.

Si en nuestro archivo phtml agregamos algo como esto:

<?php Zend_Debug::dump($this->getNameInLayout()); ?>

Terminamos viendo el nombre del bloque definido en el layout, que es el que invoca a nuestro phtml.

Nombre del bloque usado en un phtml

 

Personalizar la página de error en Magento

Hace unos días me topé con un proyecto que tenía como marca distintiva el haber aplicado todas y cada una de las malas prácticas, todas, dentro del mismo proyecto.

Uno de los errores que me parecieron más burdos, fue el hecho de modificar los archivos del gestor de errores de Magento (si, la pantalla que nos aparece mostrándonos un número de reporte).

Si bien esto puede considerarse un tema menor, será un problema al momento que debamos hacer un upgrade de versión. Como siempre, la plataforma tiene una forma de manejar este caso y es bastante sencilla.

Por defecto, la pantalla de error se ve así.

Página de error de Magento

Ya sea que por cuestiones gráficas o funcionales necesitemos cambiar la presentación de errores, la forma correcta de hacerlo es demasiado simple.

Lo primero será será copiar el archivo /errors/local.xml.sample como /errors/local.xml.

Sigue leyendo

Métodos para agregar imágenes a los productos vía código en Magento

Uno de los desarrollos en los que más participo dentro de los proyectos Magento, suelen ser las integraciones entre cualquier sistema externo y la tienda, ya sea que se envíe o se reciba información.

Si bien ya van 7 años con con la plataforma y las integraciones, por más que algunos procesos ya están bastante logrados y no necesitan reprogramación, sólo configuración; siempre es necesario hacer algún ajuste o cambiar alguna lógica, ya que cada tienda es única.

Una de las entidades/procesos que rara vez se salva de ser reprogramada en las integraciones, es el catálogo. Incluso, dentro del propio mundo que puede resultar el catálogo de una tienda, la gestión de imágenes de los productos que se sincronizan también suele ser diferente entre un proyecto y otro.

Al momento de asociar imágenes a un producto, vía código, podemos pensar en 3 métodos diferentes (no es para tomar como algo definitivo, pero serían 3 las formas de atacar la tarea).

Para los distintos ejemplos, vamos a considerar que tenemos un único producto (en mi caso, el entity_id 1), con N cantidad de imágenes que se encuentran dentro de del directorio media/import.

Editar las imágenes de un producto en Magento

Sigue leyendo