Cómo obtener la versión de un módulo en Magento

Podría darse el caso en el cual necesitemos obtener información de un módulo para tomar ejecutar ciertas acciones.

Definitivamente es un escenario pensado para cuando creamos extensiones. Para el caso de un desarrollo completo, nuestro control del código y de la tienda es total.

Supongamos entonces que tenemos al ya ultra trillado módulo Dc_Test. Vamos a considerar que nuestro módulo se encarga de interactuar o incluso modificar algún comportamiento del módulo Mage_Newsletter.

No recuerdo ahora las versiones, pero si que tuve que lidiar alguna vez con modelos de ese módulo, que de una versión a otra habían sido eliminados.

La solución ante ese escenario sería reescribir el código de forma tal que funcione de la misma forma sin importar la versión, pero ¿y si existiera un caso en el cual esto no fuera posible?.

Si llegáramos a éste punto, lo que podemos hacer es validar la versión del módulo con el que estamos trabajando. De ésta forma podríamos invocar una acción u otra según las versiones, puntualmente, conflictivas.

Para obtener ese dato sólo necesitamos ejecutar una función.

echo Mage::getConfig()->getModuleConfig('Mage_Newsletter')->version;

El resultado de la llamada sería: 0.8.3.

Además de ésta información, podemos validar si el módulo se encuentra activo, ver en que pool se encuentra el módulo y, además, preguntar por las dependencias del mismo.

echo Mage::getConfig()->getModuleConfig('Mage_Newsletter')->active;

Nos mostrará: true.

echo Mage::getConfig()->getModuleConfig('Mage_Newsletter')->codePool;

Y en éste caso: core.

Un pequeño tip que puede llegar a ahorrar algunas horas de coding.

Unite a la lista de suscriptores

Una vez por mes vas a recibir un mail con contenido que se relaciona con lo que vemos en el blog, que extiende o anticipa lo que hacemos en Twitch, y que también suele incluir anécdotas del MundoReal® y algún que otro link.

Es gratis, no tiene publicidad y con el double opt-in de Mailchimp.