El reto real: mantener módulos en producción sobre PrestaShop 9
La migración a PrestaShop 9 no termina con la actualización del core. El verdadero desafío comienza cuando los módulos que mantienen tu tienda operativa —pasarelas de pago, integraciones logísticas, módulos de marketing, funcionalidades custom— necesitan adaptarse a una arquitectura que ha cambiado de raíz.
PrestaShop 9 ha reconstruido su back office sobre Symfony 6.4 y Twig, ha introducido una nueva Admin API basada en API Platform, y ha modificado el sistema de hooks y eventos. Estos cambios, aunque positivos para el futuro de la plataforma, generan un trabajo significativo de adaptación en los módulos existentes. En este artículo abordamos los problemas más comunes y las estrategias para resolverlos.
Overrides: el punto crítico de la migración
Por qué los overrides ya no funcionan igual
En versiones anteriores de PrestaShop, los overrides eran la forma habitual de modificar el comportamiento del core sin tocar directamente los archivos originales. Se podían sobrescribir clases, controladores y plantillas simplemente colocando un archivo con el mismo nombre en la carpeta override.
Con PrestaShop 9, gran parte del back office ha sido migrado a controladores Symfony. Esto significa que los overrides de controladores legacy simplemente no se ejecutan porque esos controladores ya no existen. El código sigue ahí pero es ignorado por el sistema.
Esto no es un bug, es una consecuencia directa de la modernización de la plataforma. La solución pasa por reescribir esos overrides como módulos que utilicen el sistema de servicios y eventos de Symfony.
Cómo identificar overrides problemáticos
El primer paso es auditar la carpeta override de tu instalación. Para cada archivo encontrado, necesitas determinar si el controlador o clase que sobrescribe sigue existiendo en PrestaShop 9 o ha sido reemplazado por un componente Symfony. Si ha sido reemplazado, el override necesita ser transformado.
PrestaShop 9 incluye herramientas de diagnóstico que alertan sobre overrides potencialmente incompatibles, pero nuestra experiencia nos dice que una revisión manual por parte de un desarrollador experimentado es imprescindible para detectar problemas sutiles que las herramientas automáticas no captan.
Hooks: qué ha cambiado y qué sigue igual
Hooks deprecados y nuevos hooks
El sistema de hooks sigue siendo el mecanismo principal de extensión de PrestaShop, pero la migración a Symfony ha traído cambios importantes. Algunos hooks asociados a controladores legacy han sido deprecados o eliminados, mientras que se han introducido nuevos hooks vinculados a los controladores Symfony.
Los hooks del front office generalmente se mantienen estables, ya que el sistema de renderizado de plantillas no ha sufrido cambios tan drásticos. Sin embargo, los hooks del back office son los que más cambios han experimentado.
Para cada módulo, es necesario verificar la lista de hooks que utiliza y comprobar su estado en PrestaShop 9. La documentación oficial incluye una tabla de equivalencias entre hooks legacy y los nuevos hooks Symfony.
Eventos Symfony como alternativa
Además de los hooks tradicionales, PrestaShop 9 permite utilizar el sistema de eventos de Symfony para interceptar acciones del sistema. Esto abre posibilidades que antes requerían overrides: puedes escuchar eventos de creación, modificación o eliminación de cualquier entidad del sistema y ejecutar lógica personalizada en respuesta.
Para módulos nuevos, recomendamos utilizar eventos Symfony siempre que sea posible, reservando los hooks clásicos para compatibilidad con el front office.
Estrategias de mantenimiento para módulos en producción
Versionado y testing
Todo módulo en producción debería tener un sistema de control de versiones (Git) y un conjunto de pruebas automatizadas. Antes de actualizar PrestaShop, ejecuta las pruebas del módulo contra la nueva versión en un entorno de staging. Los fallos que detectes aquí son problemas que no llegarán a producción.
Compatibilidad dual: mantener soporte para 1.7 y 9
Si mantienes módulos que necesitan funcionar tanto en PrestaShop 1.7 como en 9 (por ejemplo, durante un período de transición), la estrategia más efectiva es utilizar detección de versión para cargar el código apropiado. PrestaShop proporciona constantes que permiten verificar la versión del core en tiempo de ejecución.
Monitorización continua
Los módulos en producción necesitan monitorización activa. Un módulo que funciona correctamente hoy puede fallar mañana después de una actualización menor de PrestaShop, un cambio en la configuración del servidor o una interacción inesperada con otro módulo.
Implementamos sistemas de logging específicos para módulos críticos que registran errores, tiempos de ejecución y anomalías, permitiendo detectar problemas antes de que afecten a la operativa de la tienda.
Módulos de terceros: qué hacer cuando no se actualizan
Uno de los escenarios más frustrantes es depender de un módulo de terceros cuyo desarrollador no ha actualizado para PrestaShop 9. En estos casos, las opciones son buscar una alternativa compatible, contactar al desarrollador para solicitar la actualización (aportando información técnica sobre los problemas), o adaptar el módulo internamente si la licencia lo permite.
En Keliam hemos tenido que adaptar módulos de terceros para clientes que no podían esperar a que el desarrollador original publicara una actualización. Es un trabajo delicado que requiere conocimiento profundo tanto del módulo como de la nueva arquitectura de PrestaShop 9.
Desarrollo de módulos nuevos: buenas prácticas para PrestaShop 9
Si estás desarrollando un módulo nuevo para PrestaShop 9, estas son las prácticas que recomendamos: utilizar servicios Symfony en lugar de overrides, implementar la interfaz de comandos CQRS para operaciones complejas, registrar endpoints en la Admin API si el módulo necesita ser accesible externamente, escribir pruebas PHPUnit para la lógica de negocio, y seguir las convenciones de nomenclatura de PrestaShop para hooks y configuraciones.
Cómo puede ayudarte Keliam
El mantenimiento de módulos en PrestaShop es una de nuestras especialidades. Trabajamos con tiendas en producción que requieren estabilidad, rendimiento y evolución continua. Si necesitas adaptar módulos a PrestaShop 9, desarrollar módulos a medida o establecer un servicio de mantenimiento recurrente, contacta con nuestro equipo.



