Prestashop tiene cosas muy buenas, y cosas que realmente frustran porque se podrían haber arreglado hace años. Esta es una de ellas, que lleva ocurriendo desde hace muchos años (sólo tienes que mirar en Google) sin ponerle solución. Y la solución sería MUY sencilla (una simple comprobación al guardar un transportista).
Si editas un transportista, y le pones un intervalo de precios o de peso que se superponga con otro, te deja guardarlo. Pero la siguiente vez que vayas a editarlo te da un error “los rangos se superponen” y no puedes hacer nada con ese transportista. ¿De verdad cuesta tanto realizar una comprobación automática antes de guardarlo?
Hoy os decimos cómo solucionarlo.
Sólución.
La solución que sugiere todo el mundo en los foros es borrar y volver a recrear el transportista. Esto, evidentemente, elimina el conflicto…pero si has creado muchos intervalos, y le has dedicado tiempo…es una lata.
Si sabes editar la base de datos hay una solución más simple.
Tienes que abrir un phpMyAdmin o similar para editar tu base de datos, e ir a la tabla ps_carrier para identificar el id_carrier del transportista que da error. También está en la url del transportista al ir a editarlo desde el backend.
Con ese dato ve a las tablas ps_range_price o ps_range_weight dependiendo de si tus intervalos son por precios o por peso. Ordénalas por id_carrier y ahí verás todos los intervalos. Uno de ellos se superpone con el siguiente o con el anterior. Edítalo y corrígelo.
El truco es que el final de un intervalo puede coincidir con el principio de otro, pero no debe superponerse. Por ejemplo en esta tabla el final del intervalo de la segunda línea se solapa con el principio del intervalo de la primera línea.
Después prueba a editar el transportista y ya debería funcionar.
Os recomendamos los siguientes productos relacionados con la informática: