Importante Bug de guardado en Proyectos Prestashop

Importante Bug de guardado en Proyectos Prestashop
Anterior

Hola a tod@s, hoy os voy a hablar acerca de un bug o error que ha surgido en Prestashop para versiones inferiores a la 1.6.1.9, y que tiene que ver con la edición de productos.

El problema

Para poneros un poco en situación, W3C ha decidido cambiar el estándar para hacer llamadas de manera síncrona a través de una url,  que es lo que se usaba hasta este momento, es decir, ha decido cambiar el objeto XMLHttpRequest. ¿Y esto que es lo que implica?, pues que todos los navegadores (Chrome, Edge, Firefox,…) que usen este estándar, han tenido, o van a tener que modificar su código, y por tanto en las últimas actualizaciones de estos navegadores veremos que tendrán que pasar a usar este nuevo estándar.

Hasta aquí el cambio, pero, ¿y esto en que nos afecta a los administradores de tiendas online Prestashop?. Pues nada más y nada menos que algo bastante grave e importante y que tendremos que solucionar cuanto antes, y es la imposibilidad de editar o de crear nuestros productos en el backend (o administrador) de Prestashop. O lo que vendría a ser lo mismo, no podremos guardar ninguno de los cambios que realicemos en la ficha de producto.

Hemos sufrido este error en varias implantaciones y versiones de Prestashop, como por ejemplo, versiones de Prestashop 1.6.1.8 o Prestashop 1.6.1.1, etc…. La manera de encontrar si estás afectado por el bug es bastante evidente, ya que cada vez que accedías al panel de administración he iba e intentabas darle a guardar, no se veía ningún cambio reflejado, simplemente redirigía al listado de productos sin hacer nada más. ¿Por qué?EL problema está en la propia definición del uso de XMLHttpRequest, y es que (a groso modo), permite realizar peticiones al servidor para posteriormente obtener la información sin tener que recargar la página completa.

La solución

Afortunadamente los desarrolladores de Prestashop ya nos han dado 2 soluciones a este bug, que son:

  • o bien actualizar nuestra tienda a la última versión de prestahop 1.6.1.11 (o bien Prestashop 1.7, pero esto para mí no es actualmente una buena opción por motivos varios que comentaremos en otros post)
  • o bien editar nosotros mismos el código fuente.

Recordar que todos los cambios a realizar serán (según Prestashop) solo para las tiendas con una versión de Prestashop inferior a la 1.6.9.1.

Yo personalmente prefiero la segunda opción, ya que en ciertos casos existen parametrizaciones a medida realizadas en alguno de los ficheros a editar, pero si tenéis una tienda sin ningún tipo de modificación a medida en los ficheros que se mencionan en la solución, podréis actualizarlo sin ningún tipo de problema (recordando siempre hacer copia de seguridad de los ficheros a editar  y de la base de datos. También tened en cuenta que puede pasar que, las líneas que tengamos que editar no siempre coincidan con las que nos indican en la guía, ya que puede variar según la versión de Prestashop que tengáis instalada, pero los cambios vienen tan especificados que no deberíais de tener problema alguno.

Aunque pueda parecer complicado, la verdad es que es no lo es si se cuenta con unos conocimientos técnicos mínimos. La solución y archivos a modificar la podemos encontrar a aquí: [button url="https://github.com/PrestaShop/PrestaShop/pull/6749/files?w=1" icon="fa-ticket" size="wpb_btn-large" lightbox="false"]Solución al bug de guardado en Prestashop[/button]

Simplemente tenemos que editar estos 9 ficheros añadiendo o quitando el código que nos vayan indicando en la guía.

Y hasta aquí el post, un cordial saludo.