Tecnología y paquetes Paquete

Compatibility Layer: una base de código para varias versiones

Traits de compatibilidad para diferencias entre versiones PrestaShop: respuestas AJAX, rutas de plantillas, hooks y firmas de controladores.

Un conjunto de helpers. Varias generaciones de PrestaShop.

PrestaShop cambia significativamente de una versión a otra. Las firmas de los métodos de los controladores cambiaron entre la 1.7 y la 8.x. Las rutas de las plantillas se movieron. Los formatos de respuesta AJAX difieren. Se renombraron nombres de hooks. El marcado del panel de administración se rediseñó para la integración con Symfony.

La mayoría de los desarrolladores de módulos gestionan esto con comprobaciones if (version_compare) dispersas por todo su código. Nosotros lo gestionamos con una capa de compatibilidad que absorbe las diferencias, de modo que los módulos se desarrollan sobre una API estable.

Qué normaliza

  • Respuestas AJAX: formato de respuesta JSON estandarizado independientemente de la versión de PS
  • Rutas de plantillas: helpers compartidos para resolver la ruta de una plantilla de módulo
  • Traducción: un equivalente de trans() para la 1.6, que no lo tiene ni en Module, ni en Controller, ni en ObjectModel
  • Puntos de inyección en el front: devuelve el conjunto de hooks que existe en la versión en ejecución, y dice con claridad cuándo una versión no ofrece ninguno
  • Formato de precios: una llamada que sobrevive a la retirada de Tools::displayPrice() en PS 9

Por qué es importante

Estos helpers concentran las comprobaciones de versión que, si no, estarían repartidas por cada módulo. Qué versiones de PrestaShop admite un módulo concreto se indica en ese módulo, y allí se comprueba.

← Volver a Nuestro stack tecnológico

Cargando...
Volver arriba