jla290 Posted September 12 Share Posted September 12 Hola! Tengo un pequeño problema en mi tienda online con Prestashop, y es que si elimino productos del carrito o modifico la cantidad no se actualizan automáticamente los precios. Sin embargo, si actualizo la página dándole a F5 o continúo con la compra, sí que surten efecto los cambios que hubiese realizado. La página es: https://sistemasenrollables.com/domotica, donde podéis comprobar el problema mencionado. Espero vuestra ayuda, Gracias. Link to comment Share on other sites More sharing options...
Nickz Posted September 12 Share Posted September 12 Cómo no se el precio anterior: Motor Somfy Altus RTS Precio 490,05 € es el precio actual. Limpiaste al cache, el del browser, el de la tienda? Link to comment Share on other sites More sharing options...
jla290 Posted September 12 Author Share Posted September 12 3 minutes ago, Nickz said: Cómo no se el precio anterior: Motor Somfy Altus RTS Precio 490,05 € es el precio actual. Limpiaste al cache, el del browser, el de la tienda? Hola, @Nickz Efectivamente ese es el precio de una unidad, si te metes en el carrito y pones dos unidades el precio no se cambia automáticamente. Para que cambie tendrías que actualizar la página. Compruébalo y me dices. Link to comment Share on other sites More sharing options...
Nickz Posted September 12 Share Posted September 12 21 minutes ago, jla290 said: Compruébalo y me dices. se actualiza al poner el articulo en el carrito Precio singular: 326,70 € Total de productos: 653,40 € Envío total: Gratis Total: 653,40 € (impuestos inc.) Ahora bien, tu tienda a tenido una actualización? Me imagino que estos popup de querer recibir el correo interfiera con la acción. Link to comment Share on other sites More sharing options...
jla290 Posted September 12 Author Share Posted September 12 11 minutes ago, Nickz said: se actualiza al poner el articulo en el carrito Precio singular: 326,70 € Total de productos: 653,40 € Envío total: Gratis Total: 653,40 € (impuestos inc.) Ahora bien, tu tienda a tenido una actualización? Me imagino que estos popup de querer recibir el correo interfiera con la acción. Donde no se actualiza visualmente es al cambiar las cantidades en la página de carrito: https://sistemasenrollables.com/carrito?action=show La tienda está actualizada a la última versión de prestashop, pero esto viene de antes y nunca le he metido mano. Link to comment Share on other sites More sharing options...
jla290 Posted September 12 Author Share Posted September 12 Por cierto, @Nickz he probado a desactivar el módulo que generaba el popup del chat y no se ha solucionado. Link to comment Share on other sites More sharing options...
Nickz Posted September 12 Share Posted September 12 Debes vaciar los caches, no hiciste? Link to comment Share on other sites More sharing options...
jla290 Posted September 13 Author Share Posted September 13 14 hours ago, Nickz said: Debes vaciar los caches, no hiciste? Sí, he borrado los cachés, pero continúa el problema. Link to comment Share on other sites More sharing options...
Nickz Posted September 13 Share Posted September 13 Esta tienda es nueva? O tiene un historial de actualizaciones y trabajos internos? Link to comment Share on other sites More sharing options...
aixos Posted September 13 Share Posted September 13 (edited) Hola esto lo recuerdo bien y aquí tienes la solución : Edited September 13 by aixos (see edit history) Link to comment Share on other sites More sharing options...
jla290 Posted September 16 Author Share Posted September 16 On 9/13/2024 at 5:03 PM, aixos said: Hola esto lo recuerdo bien y aquí tienes la solución : Hola, @aixos Tiene buena pinta esa solución pero no he logrado que funcione. Te cuento lo que he he hecho por si me falta algo: 1. Copiar el contenido del archivo ps_shoppingcart.js 2. Pegarlo al final de siguiente archivo: themes/mitema/assets/js/custom.js 3. Borrar caché desde parámetros avanzados / rendimiento 4. Borrar cookies del navegador Ya me dices si me faltó algo, sino, me temo que esta no es la solución. Link to comment Share on other sites More sharing options...
aixos Posted September 16 Share Posted September 16 1. No has de copiar el contenido ps_shoppingcart.js 2. Pegarlo al final de siguiente archivo: themes/mitema/assets/js/custom.js Este estaría adaptado para prestashop 8.1.7 document.addEventListener('DOMContentLoaded', function () { prestashop.blockcart = prestashop.blockcart || {}; var showModal = prestashop.blockcart.showModal || function (modal) { document.body.insertAdjacentHTML('beforeend', modal); document.getElementById('blockcart-modal').addEventListener('click', function (event) { if (event.target.id === 'blockcart-modal') { event.target.remove(); } }); }; prestashop.on('updateCart', function (event) { var blockcart = document.querySelector('.blockcart'); var refreshURL = blockcart ? blockcart.dataset.refreshUrl : ''; var requestData = {}; if (event && event.reason) { requestData = { id_product_attribute: event.reason.idProductAttribute, id_product: event.reason.idProduct, action: event.reason.linkAction }; } fetch(refreshURL, { method: 'POST', body: JSON.stringify(requestData), headers: { 'Content-Type': 'application/json' } }) .then(response => response.json()) .then(function (resp) { if (blockcart) { blockcart.innerHTML = new DOMParser().parseFromString(resp.preview, 'text/html').querySelector('.blockcart').innerHTML; } if (resp.modal) { showModal(resp.modal); } }) .catch(function (resp) { prestashop.emit('handleError', { eventType: 'updateShoppingCart', resp: resp }); }); }); }); 3.Borrar caché desde parámetros avanzados / rendimiento 4. Borrar cookies del navegador Link to comment Share on other sites More sharing options...
jla290 Posted September 16 Author Share Posted September 16 (edited) 12 hours ago, aixos said: 1. No has de copiar el contenido ps_shoppingcart.js 2. Pegarlo al final de siguiente archivo: themes/mitema/assets/js/custom.js Este estaría adaptado para prestashop 8.1.7 document.addEventListener('DOMContentLoaded', function () { prestashop.blockcart = prestashop.blockcart || {}; var showModal = prestashop.blockcart.showModal || function (modal) { document.body.insertAdjacentHTML('beforeend', modal); document.getElementById('blockcart-modal').addEventListener('click', function (event) { if (event.target.id === 'blockcart-modal') { event.target.remove(); } }); }; prestashop.on('updateCart', function (event) { var blockcart = document.querySelector('.blockcart'); var refreshURL = blockcart ? blockcart.dataset.refreshUrl : ''; var requestData = {}; if (event && event.reason) { requestData = { id_product_attribute: event.reason.idProductAttribute, id_product: event.reason.idProduct, action: event.reason.linkAction }; } fetch(refreshURL, { method: 'POST', body: JSON.stringify(requestData), headers: { 'Content-Type': 'application/json' } }) .then(response => response.json()) .then(function (resp) { if (blockcart) { blockcart.innerHTML = new DOMParser().parseFromString(resp.preview, 'text/html').querySelector('.blockcart').innerHTML; } if (resp.modal) { showModal(resp.modal); } }) .catch(function (resp) { prestashop.emit('handleError', { eventType: 'updateShoppingCart', resp: resp }); }); }); }); 3.Borrar caché desde parámetros avanzados / rendimiento 4. Borrar cookies del navegador Hola, @aixos Mi web corre con Prestashop 1.7.8.11 y el archivo ps_shoppingcart.js tiene el siguiente código que he copiado y pegado en el custom.js del tema, pero no funciona: $(document).ready(function () { prestashop.blockcart = prestashop.blockcart || {}; var showModal = prestashop.blockcart.showModal || function (modal) { var $body = $('body'); $body.append(modal); $body.one('click', '#blockcart-modal', function (event) { if (event.target.id === 'blockcart-modal') { $(event.target).remove(); } }); }; prestashop.on( 'updateCart', function (event) { var refreshURL = $('.blockcart').data('refresh-url'); var requestData = {}; if (event && event.reason && typeof event.resp !== 'undefined' && !event.resp.hasError) { requestData = { id_customization: event.reason.idCustomization, id_product_attribute: event.reason.idProductAttribute, id_product: event.reason.idProduct, action: event.reason.linkAction }; } if (event && event.resp && event.resp.hasError) { prestashop.emit('showErrorNextToAddtoCartButton', { errorMessage: event.resp.errors.join('<br/>')}); } $.post(refreshURL, requestData).then(function (resp) { var html = $('<div />').append($.parseHTML(resp.preview)); $('.blockcart').replaceWith($(resp.preview).find('.blockcart')); if (resp.modal) { showModal(resp.modal); } }).fail(function (resp) { prestashop.emit('handleError', { eventType: 'updateShoppingCart', resp: resp }); }); } ); }); Edited September 17 by jla290 error (see edit history) Link to comment Share on other sites More sharing options...
aixos Posted September 17 Share Posted September 17 Hola eso que dices esta mal hecho no debes tocar nada del ps_shoppingcart.js : Cita el archivo ps_shoppingcart.js tiene el siguiente código que he copiado y pegado en el custom.js Lo que debes probar es esto así en el custom.js: El código es este para Prestashop 1.7.8.11 y el fichero esta el la ruta /themes/xxxxx/assets/js/custom.js : $(document).ready(function () { prestashop.blockcart = prestashop.blockcart || {}; var showModal = prestashop.blockcart.showModal || function (modal) { var $body = $('body'); $body.append(modal); $body.one('click', '#blockcart-modal', function (event) { if (event.target.id === 'blockcart-modal') { $(event.target).remove(); } }); }; $(document).ready(function () { prestashop.on( 'updateCart', function (event) { var refreshURL = $('.blockcart').data('refresh-url'); var requestData = {}; if (event && event.reason) { requestData = { id_product_attribute: event.reason.idProductAttribute, id_product: event.reason.idProduct, action: event.reason.linkAction }; } $.post(refreshURL, requestData).then(function (resp) { $('.blockcart').replaceWith($(resp.preview).find('.blockcart')); if (resp.modal) { showModal(resp.modal); } }).fail(function (resp) { prestashop.emit('handleError', {eventType: 'updateShoppingCart', resp: resp}); }); } ); }); }); 3.Borrar caché desde parámetros avanzados / rendimiento 4. Borrar cookies del navegador Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now