Jump to content

Ayuda. Mi carrito siempre añade un producto a los pedidos.


TheBullet

Recommended Posts

Tengo un problema en el carrito de mi tienda. Cuando un cliente compra cualquier cosa, en el resumen del pedido siempre aparece un producto sin que el cliente lo haya añadido. El producto siempre es el mismo y la tienda no lo cobra, simplemente aparece en la factura como cualquier otro producto que el cliente hubiera pedido.

 

Intenté solucionarlo borrando el producto en cuestion pero incluso así sigue apareciendo. Alguien sabe porque me pasa esto y como podría solucionarlo?

Link to comment
Share on other sites

Yo tengo el mismo problema, ya revisé no tengo ningún módulo instalado que ofrezca la promoción de un producto gratis.

 

Pues creo que ya he encontrado el error.

 

El problema creo que sucede porque yo estuve haciendo unas pruebas antes de poner la tienda en marcha. Hice algunos pedidos para probar que todo funcionaba correctamente.

El caso es que esos pedidos de prueba los eliminé desde el backoffice (había modificado algún archivo para poderlos borrar desde allí) y volví a poner el número de factura, perdido, etc... en el punto donde estaba cuando hice las pruebas.

Como que eliminé ese producto de mi tienda y me continuaba apareciendo llegue a la conclusión que el error estaba en la base de datos, busqué ese producto y lo encontré en un par de tablas. (creo que se llamaban ps_orders y ps_product_orders pero no estoy seguro, utiliza el buscador de la base de datos)

 

En esas tablas estaban todos los pedidos de prueba que había hecho anteriormente y el error se producía porque la base de datos mezclaba los pedidos de prueba con los reales porque tenían los mismos números de pedido. Lo que hice fue borrar todos los pedidos de prueba de la base de datos y dejar unicamente los reales.

 

Tiene pinta de que el error es a causa de eso pero no te lo puedo confirmar porque esta semana he tenido muy mala suerte y no me han hecho ningún pedido... los comienzos son duros! Y no quiero hacer uno de prueba para no volverla a liar xD

 

En cuanto sepa que realmente ese era el problema lo posteo

Link to comment
Share on other sites

  • 2 months later...

quizas borraste el pedido pero no las lineas que usaste para las pruebas por eso te salen referidas hacia dicho pedido, deberias entrar en la base de datos y buscar en la tabla donde estan las lineas del pedido. la tabla se llama order detail (donde estan las lineas)

Link to comment
Share on other sites

Las tablas que habría que reiniciar para resetear bien los pedidos, son:

 

_products

_products_lang

_orders

_orders_detail

_product_tag (si tenía alguno para que no se muestre incorrecto en las busquedas)

_message (si tenemos mensajes de pedidos)

_message_read (si hemos gestionado mensajes desde BO)

 

*Pedidos | Si hemos probado las devoluciones o más cosas hay que revisar muchas mas tablas | Si se usa phpmyadmin con entrar en la tabla y pulsar vaciar lo borra todo y resetea el índice a 1.

Link to comment
Share on other sites

Teoricamente, sólo deberás borrar de esas tablas entonces los que estén asociados a un id mayor al actual pedido.

(order_detail, fila id_order)

 

En este caso que comentas para conservar lo actual, deberás revisar manualmente.

 

No se si me explico. Puede que hayas vuelto el orders a 1, y que vayas por el 18... pero en order_details* tendrás ejemplo 20 registros. Deberás borrar en este caso solo los order_id 19 y 20 y devolver el contador a 19... que es el siguiente número a usar, y no 18 como puede parecer. El id de autoincremental guarda el siguiente valor. Por norma empieza en 1 cuando aún no hay pedidos.

 

*Digo order_details por decir algo. El carrito asociado al pedido "cart" y "cart_products" también entran en juego.

Puede que el siguiente número de pedido ya disponga de 1 o más articulo añadidos y que el usuario al crear el pedido los fusione. Eso es algo que sólo tu que puedes ver la tabla puedes comprobar si se añade siempre 1 mismo producto, o si es uno de pruebas usado frecuentemente... (El "cart" dispone del secure key, pero "cart_products no", tal vez venga por ahí también...)

 

Espero que te ayude en algo :)

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Estimados señores.

He hablado con webhome.es y me han dicho que desinstale el módulo que está dentro de precio y descuento, exactamente el de La fidelidad de los clientes y las recompensas. Así funcionará bien.

Saludos.

 

Y te ha funcionado correctamente, haciendo eso?

Link to comment
Share on other sites

Si, funciona bien ahora. Pero en los nuevos pedidos, no modifica los ya creados. Además también daba error al cambiar el estado del pedido y ahora funciona perfecto.

 

saludos.

Y si ahora vuelves a instalar el modulo "La fidelidad de los clientes y las recompensas", te vuelve a fallar?

Un saludo

Link to comment
Share on other sites

No lo he probado, pero seguro que sí, ya que son los originales de Prestashop y la función será la misma, pero si deseas lo puedes probar, la versión de la que te hablo es la 1.4.6.2.

 

Saludos.

Pruebalo, si puedes.

 

Un saludo

Link to comment
Share on other sites

Si, pruébalo y descartas que sea el módulo "en si" y no un potaje de códigos.

 

Yo he visto ése modulo en funcionamiento en varias tiendas, así que me cuesta imaginarlo como culpable.

Seria, bueno saber de donde vienen predefinido el problema, por que pasa eso exactamente, y y la razon... pues es rarisimo.. que sea problema venga predefinido de ese modulo.

 

EDITO: El problema es que se estan borrando pedidos, con la modificación que se comenta en el foro, y no se eliminan todos los registros relaccionados con el pedido, entonces queda hueco.

Link to comment
Share on other sites

  • 1 month later...

Hola:

 

En mi caso tenía este mismo problema, activé por código la opción para eliminar pedidos y los eliminé desde el backoffice pero esto NO elimina las líneas de cada pedido en ps_order_detail. Así que me fui a esa tabla y eliminé las líneas de pedidos anteriormente eliminados. Este problema ocurre porque cuando eliminas los pedidos y después creas otro nuevo prestashop reutiliza ids anteriores, entonces se juntan en los nuevos pedidos las líneas del pedido eliminado y el nuevo pedido... No deberían reutilizar ids anteriores, es de manual...

 

¡Pero aún me seguían saliendo las dichosas líneas anteriores en el pedido! Así que sospeche que la caché me estuviera jugando una mala pasada, y así fue. PS cachea el contenido de la tabla y, si PS no vuelve a escribir en esa tabla, siempre tomas las lecturas del archivo de caché (si utilizas la caché por sistemas de ficheros, como es mi caso), que es más rápido que atacar la bbdd.

 

En mi caso tenía activada la caché por sistema de ficheros. Fui a cache/cachefs y borré todos los archivos y carpetas. Al recargar la página del pedido en el backoffice ya se ve correctamente. Quizás si simplemente hubiera hecho alguna operación de escritura sobre la tabla ps_order_detail (como un pedido nuevo, p.e.) habría actualizado la tabla en caché y como ya borré las líneas erróneas pues me habría funciondado bien, pero era más rápido borrar toda la caché :). Eso sí, no olvides volver a desactivar y reactivar la caché desde el backoffice para que PS te regeneré la estructura de directorios o tendrás una sorpresa desagradable en forma de mensajes de error desde el frontoffice :wacko:

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • 9 months later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...