Como comparar versiones de Prestashop en un módulo
A medida que pasa el tiempo, Prestashop va aumentando de versión y va sacando novedades que en versiones anteriores ni si quiera se imaginaban y otras funcionalidades de versiones anteriores se dejan de utilizar en versiones actuales.
En estos casos, los programadores que desarrollan módulos se ven en la necesidad de tener que condicionar código según la versión en la que se esté trabajando para que el módulo sea compatible con todas las versiones.
En el archivo settings.inc.php de un Prestashop tenemos una variable global que contiene la versión de Prestashop que se está utilizando, como por ejemplo:
define('_PS_VERSION_', '1.5.6.2');
El objetivo de este artículo es mostrar varias formas de saber en que versión de Prestashop estamos trabajando para poder comparar y condicionar código.
Podríamos utilizar la función version_compare():
if (version_compare(_PS_VERSION_, '1.5.2', '<')) {
//Your code to prestashop < 1.5.2
}
En este caso, estamos verificando si la versión de Prestashop en la que estamos es menor a la versión 1.5.2, ejecutaremos el código que sigue.
También te podría resultar interesante realizar una comparación de la siguiente forma:
if((int)str_replace(".","",substr(_PS_VERSION_, 0,3)) == 15) {
//Your code to prestashop 1.5.x
}
En este caso, como sabemos que la variable gloabal que contiene la versión es una cadena con números separados por puntos, buscamos y reemplazamos el punto por vacío y lo convertimos a entero para hacer la comparación. Además de esto, solo estamos cogiendo los 2 primeros caracteres y en este caso concreto estamos comprobando si la versión actual es igual a 15 que se correspondería a la versión 1.5.x.
Posiblemente exista otras formas, si es así no dudes en hacérnosla saber.
Deja una respuesta