Configuraciones dependientes en Magento

Normalmente, cuando creamos un módulo y le agregamos opciones de configuración, obtenemos un formulario, al menos, como el siguiente.

Formulario standard de configuración en Magento

Está claro, el ejemplo es de lo más básico. Contamos con varios tipos de campos que nos permiten manejarnos con cierta flexibilidad al momento de definir nuestras configuraciones.

Dentro de esas posibilidades existe una opción (que no suele verse muy seguido) que nos permite indicar que si un campo cambia de valor, nos muestre (o no) otros campos.

Guiándonos por la primera imagen, la lógica sería la siguiente: si el campo «Condición» equivale a No, mostramos el campo «Valor A».

Seguir leyendo «Configuraciones dependientes en Magento»

Magento 1.6.0.0 (ahora queremos ver más)

El 18 de agosto se publicó, finalmente, la versión 1.6.0.0 de Magento.

La lista de cambios destacables se ha mantenido igual a la de la última versión rc.

  • Precio mínimo anunciado (MAP).
  • Carrito de Compras persistente.
  • Versión 21 de XmlConnect.
  • Mejoras para las Order Payment Action en PayPal Express Checkout.
  • Actualización de Prototype a 1.7.
  • Se quitó deprecation.js por incompatibilidad con Prototype 1.7.
  • Revisión de la lógica de modelos para tener soporte para múltiples motores de base de datos.
  • Opción de SKU dinámico para los productos configurables.
  • Se quitó Google Base.

Lo que si podemos ver en el changelog es una buena cantidad de correcciones y, para prestar atención, una pequeña lista de errores conocidos.

En éste caso, si bien se trata de una versión estable, recuerden no intentar una actualización directamente en producción.

Seguir leyendo «Magento 1.6.0.0 (ahora queremos ver más)»

Cómo agregar atributos a una categoría en Magento

Entre las tantas personalizaciones que normalmente se hacen en un tienda, es posible que necesitemos agregar atributos a las categorías.

Dado que Magento no ofrece la posibilidad de gestionar los atributos de ésta entidad desde el backend, vamos a ver cómo agregar uno nuevo a través de nuestros módulos.

En éste caso, vamos a usar un módulo (como siempre: Dc_Test) para agregar el atributo.

Dc_Test va a tener sólo tres archivos. El primero, es la configuración del módulo y estará ubicado en /app/code/local/Dc/Test/etc/config.xml.

Seguir leyendo «Cómo agregar atributos a una categoría en Magento»

Magento 1.6.0.0-rc2 (a pocos pasos de la versión estable)

La versión 1.6.0.0-rc2 de Magento se hizo presente y, así como en la versión anterior, nos permite pensar que ya no veremos grandes cambios en cuanto a la funcionalidad (aunque de sólo pensar de la cantidad de trabajo que implica proveer soporte para múltiples bases de datos, es más que entendible).

Hasta éste momento, la lista de cambios y mejoras que veríamos en la versión estable incluiría, entre otros, los siguientes puntos.

  • Precio mínimo anunciado (MAP).
  • Carrito de Compras persistente.
  • Versión 21 de XmlConnect.
  • Mejoras para las Order Payment Action en PayPal Express Checkout.
  • Actualización de Prototype a 1.7.
  • Se quitó deprecation.js por incompatibilidad con Prototype 1.7.
  • Revisión de la lógica de modelos para tener soporte para múltiples motores de base de datos.
  • Opción de SKU dinámico para los productos configurables.
  • Se quitó Google Base.
Seguir leyendo «Magento 1.6.0.0-rc2 (a pocos pasos de la versión estable)»

Cómo modificar valores de configuración vía código en Magento

En algunos escenarios es posible que ante ciertas acciones o resultados, debamos modificar algún valor que se encuentra en la configuración general de Magento.

Para modificar un valor de la configuración general de forma programática (si, suena rara la palabra al traducirla) sólo necesitamos 3 líneas de código, la clave que queremos actualizar y el nuevo valor.

Para el ejemplo, vamos a poner la tienda en modo demo.

$new_value = '1';
$model = new Mage_Core_Model_Config();
$model->saveConfig('design/head/demonotice', $new_value, 'default');
Mage::getConfig()->cleanCache();

De ésta forma, con éste sencillo tip, podemos modificar comportamientos generales de la tienda.