Symfony, la gran novedad de PrestaShop 1.7

Symfony, la gran novedad de PrestaShop 1.7

14 noviembre, 2016 Prestashop 1.7 0
prestashop-movil

El Symfony es la gran apuesta de la actualización del PrestaShop a la versión 1.7 Prestashop Symfony mobile

. Y es que el equipo del popular CMS para e-commerce ha reconocido que la arquitectura actual estaba acusando el paso de los años, con la consiguiente necesidad de renovarse hacia la nueva norma PHP con un código de calidad.

A continuación, te explicamos las claves para comprender este cambio.

¿Por qué Symfony en PrestaShop 1.7?

La idea que subyacía a los desarrolladores del proyecto PrestaShop 1.7 era conseguir un código más robusto y completamente testeable. La arquitectura 1.6, heredada a su vez de la versión 1.5 tras años de desarrollo de PrestaShop, empezaba a mostrar claros síntomas de envejecimiento.

Gracias al Symfony la mejora es exponencial: el uso de un framework de código abierto, popular y completamente testado, permitirá a los desarrolladores centrarse en el código de la actividad principal (gestión del carrito, manejo de pedidos, cálculo de los precios e impuesto, generación de facturas, etc.) con una mayor eficiencia. Todo ello, además, disfrutando de la gran estabilidad de un framework reconocido a nivel mundial.

Pero además, la implementación de Symfony también reducirá la curva de aprendizaje para los desarrolladores de PHP que aún no estén familiarizados con PrestaShop, facilitándoles en gran medida todo este proceso.

¿Dónde se estará presente Symfony?

Por ahora, la nueva arquitectura solo podrá utilizarse en el back office. Es más, por el momento y bajo la subversión 1.7.0.0, solo será visible para dos únicas pantallas del back office: la página de Producto (y catálogo de producto) y la página de Módulos. Así, en el resto del back-office seguirá utilizándose la arquitectura 1.5 y 1.6, algo que se irá modificando a lo largo del tiempo, ya que está previsto un cambio progresivo a versiones posteriores de PrestaShop una pantalla tras otra.

Esto significa que las dos arquitecturas coexistirán mientras todas las páginas del back office se van mudando a la nueva arquitectura, en una fase de transición que durará algunas versiones más de PrestaShop. Por ello, es más que probable que las próximas versiones sigan el mismo camino; esto es, convertir más pantallas del back office al Symfony.

¿Por qué Symfony 2 y no Symfony 3?

Como algunos recordaréis, Symfony comenzó con la versión 2.8 sin el código de compatibilidad retroactiva. Esto supone que PrestaShop 1.7 debería ser capaz de trabajar con Symfony 3 una vez que este sea publicado, pero, por ahora, los desarrolladores de PrestaShop 1.7 están enfocándose en el actual LTS del Symfony 2, de la versión 2.8.6. Y es posible que se centren en la versión 3 en una futura versión de PrestaShop.

Previsión de versiones de Symfony

Previsión de versiones de Symfony.

 

¿Cuál será el impacto de Symfony en los módulos de los contribuyentes?

Se prevé que el impacto directo sea muy limitado: Symfony solo será utilizado por ahora para las características específicas del back office. Esto significa que solo el núcleo de PrestaShop tendrá acceso.

En cambio, los módulos que estén dirigidos a las páginas de Producto y de Módulos sí sufrirán algún impacto, aunque estos no estén vinculados a Symfony. En este sentido, también puede usarse el motor de plantillas Twig, tanto de Smarty como de Symfony, para los módulos que se dirijan a las páginas reescritas, aunque el código del núcleo deba seguir siendo el mismo. Y es que los hooks se ejecutan en el entorno heredado y solo después son recuperados por Symfony para poder usarse.

Además, los módulos que estén dirigidos al diseño del theme también tendrán que adaptarse al nuevo modo de funcionamiento de los diseños de temas presentes en la versión 1.7.

¿Seguirán funcionando los módulos de PrestaShop 1.6 en la versión 1.7?

Los módulos construidos para PrestaShop 1.6 seguirán funcionando en su mayoría en la versión 1.7. Excepto, eso sí, los módulos de pago, que han experimentado un pequeño cambio en la API. Por ello, es muy probable que haya que revisar su código de presentación (en diferentes grados, eso sí, dependiendo del módulo), con el fin de que funcionen de manera correcta.

¿Está cambiando PrestaShop 1.7 de Smarty a Twig?

En PrestaShop 1.5 y 1.6 solo había un único motor de plantillas por defecto: Smarty. En la actualidad, en cambio, existen dos motores de plantillas disponibles para la versión 1.7: Smarty y el Twig de Symfony, y así es como se usan:

– los temas del Front-office están escritos en Smarty;

– las nuevas páginas del back-office están escritos en Twig;

– los legados (legacy) están aún escritos en Smarty.

Los módulos, tanto del front office como del back office, pueden utilizar el motor de plantillas que quieran (PHP puro, Smarty, Twig, Jade); algo que ya era posible en la versión 1.6. Todo ello a pesar de que el motor de plantillas por defecto es Smarty y el uso de cualquier otro requerirá algo más de trabajo por parte de los desarrolladores.

En definitiva, los desarrolladores de módulos van a poder utilizar indistintamente cualquiera de los que PrestaShop 1.7 les proporcione, Smarty o Twig, en cualquier página. Y esto será independientemente de que dicha página esté basada en Symfony o en una legacy, gracias al poder de los Adapters. Por lo tanto, los módulos dirigidos a la página de Producto aún pueden utilizar Smarty, si bien estos tendrán que actualizar su CSS y su código JavaScript, dado que el diseño del back office ha cambiado.

About the author

prestashop17:

0 Comments

Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *

Deja un comentario