Hemos descubierto un error en Prestashop 1.6 que está dando muchos dolores de cabeza a usuarios de esta versión. El error consiste en que cuando un cliente intenta añadir al carrito un producto e ir al proceso de pago el carrito le aparece vacío. Os damos la solución en este post.
El mensaje que aparece al ir al carrito es;
«Su carrito está vacío»
El problema al parecer es que la tabla de carritos se ha limpiado y a vuelto a generar id de carrito, pero la tabla de pedidos tiene id de carritos con id superiores. Esto supone que cuando un cliente crea un nuevo carrito se asocia a un pedido antiguo y se rompe el proceso de compra.
Para solucionar este problema tenemos que acceder a la tabla de pedidos de prestashop, ps_orders (el prefijo ps puede variar), mediante phpMyAdmin y buscar el mayor id_cart asociado a un registro.
Una vez que conocemos este valor (ejem: 1091) tenemos que ir a la tabla ps_cart e introducir un valor superior como autoincrement. Para ello debe ir a la sección de Operaciones y escribir el valor (ejem: 1092) en el apartado AUTO_INCREMENT. Ya solo queda dar al botón Continuar y listo.
Con esta solución la próxima vez que un cliente añada un producto y se genere un carrito, éste se generará con un id mayor a los registrados en los pedidos. Así nos aseguramos que el carrito es nuevo y no volverá a aparecer el error de «Su carrito está vacío».
Tenga cuidado a la hora de realizar los cambios y realice una copia de seguridad para prevenir errores.
He tenido otros casos donde mostraba el tema del carrito vacío y no era por lo que comentas.
Hola Juan, la verdad que es un error extraño y a veces es difícil deducir de donde proviene. ¿Podrías pasarnos información sobre los casos que te has encontrado? Un saludo
hola buenso dias Juan
Soy nuevo en esto y con poquitos conocimientos, necesito saber donde se encuentra ese archivo para poder modificarlo y que no me aparezca el error de «su carrito está vacío»
si me pudeiras ayudar te lo agradecería,
entiendo que tengo que entrar en los archivos de prestashop, en este caso lo hago por filezilla pero estoy muy perdido.
gracias de antemano
Hola Miguel, los cambios indicados tienes que realizarlos en phpMyAdmin para modificar las tablas. No se trata de un archivo a modificar.
Tengo el mismo problema (Cuando en una página de producto, cualquiera, se le da a comprar, aparece el carrito de compra vacio. He probado desde otros navegadores, he borrado caché en todos ellos, he mirado en la BBDD y la tabla de XXX_cart tiene configurado correctamente el parametro de autoincrmentar del campo id_cart.
El problema apareció de la noche a la mañana, no se ha tocado nada ni se ha modificado nada desde hace semanas, todo funcionaba correctamente.
hola, en mi caso no ha funcionado, debido a que el id_cart de la tabla ps_orders es 27001, pero en la tabla ps_cart el id_cart es superior (en este caso es 27112)
Por lo que no se como solucionarlo,
He de decir que el fallo seguramente proviene de usar un módulo que supuestamente borraba pedidos correctamente, pero veo que no es así porque ahora esta generando errores de datos en la Base de datos.
Usamos prestashop 1.6.0.9
Alguna solución para este tema? espero puedan ayudarme con esto, el fallo de carrito vacío aparece a veces, pero esas veces son suficientes para bloquear pedidos.
Es desesperante esos fallos, existe forma de poder arreglar este error?
Saludos
El módulo de borrar Pedidos se llama Delete Orders Free v1.4.1 – by MyPresta.eu
Este módulo es el mejor módulo para suprimir órdenes. Esta versión es gratuita. Desarrollado por MyPresta.eu
Supongo es el que ha generado el error entre las relaciones de id entre ambas tablas, ahora quiero saber como solucionarlo!!!
Hola ClonGrafico, no podemos asegurar que nuestro aporte solucione el problema en todos los casos. A nosotros nos funcionó y hasta ahora no ha vuelto a suceder. Si consigues averiguar algo más no dudes en volver a contactar, intentaremos averiguar que ocurre y si tiene tiene solución. Un saludo