Jump to content

core.js --> comportamiento erroneo al cambiar cantidad de 1 a 2 en pagina del producto


Hector G

Recommended Posts

Buenos dias/tardes

Me permito molestarles, porque llevo días investigando este problema, y , he llegado al limite de mis capacidades :(

Resulta que, teniendo la versión 1.7.6.4, nos dimos cuenta que en la página del producto, al cambiar la cantidad requerida de 1 a 2, el navegador hace un POST al server, y en algún punto, la respuesta viene con los datos de *otro* producto. Ésto solo pasa al cambiar la cantidad de 1  a 2.

Curiosamente, notamos el mismo comportamiento en un dominio que teníamos en modo catalogo desde su origen, cuando lo habilitamos como tienda para probar.

En algun momento, me dí cuenta que se estaba generando un error en las cookies relacionado con una directiva para SameSite que está quedando obsoleta; pensando que puede ser un problema de sesión, actualicé prestashop a la versión 1.7.8.7 

 

y funciono!!

 

Al menos, parcialmente

En pantalla grande, funciona correctamente el cambio de 1 a 2, ya no se brinca al otro producto.

 

Pero, en pantalla responsiva (móvil e incluso el emulador responsivo del navegador), si se da el brinco!!

He hecho mucho trabajo de depuración desde PHP, y alli observé que el error se dispara desde las peticiones AJAX, así que enfoqué mis esfuerzos en JavaScript, desde el navegador.

Adjunto impresiones de  pantalla

En la primera, la de pantalla completa , se puede observar que se dispara el evento upOnce desde el botón, y un _bindEvents en theme.js; despues, se generan dispatch, y add/m.handle en core.js

Ok todo bien.

Al hacer el mismo proceso en responsiva, se observa que, despues de los mismos eventos mencionados arriba, el m.handle se dispara como EventListener, y de ésto, siguen un montón de eventos más (entre ellos un add en 882 ¿¿??), son tantos, que me llenan una segunda página, y generan una petición POST y respuesta desde el server con los datos del *otro* producto.

 

Lamentablemente, core.js está minimizado. Intente "des-minimizarlo" con una extension de VS Code y ... me separó los elementos que estaban unidos con puntos.. rompiendo jerarquias de llamadas a atributos... y haciendo una sopa del código. No sé si es vue, pero, soy incapaz de entenderlo al 100 % como para aventarme a descomprimirlo a mano (¿que es eso de 882,339...?).

Mi intencion al "des-minimizarlo" es ponerle puntos de inspeccion e ir viendo como se comportan, para tratar de determinar que dispara el error.

¿Les ha pasado?
¿Tendrán alguna idea o sugerencia para poder salir del bloqueo donde me metí?

Les agradezco de antemano. quedo pendiente mientras sigo tratando de hacer algo...

Saludos

Hector Garcia

 

 

 

 

core_js_responsivo.png

core_js_screen.png

core_js_responsivo_pag2.png

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...