[PrestaShopException] Invalid address # at line x in file classes/Address.php
PrestaShopException Invalid Address
es un error que se produce cuando se accede a un carro que usa una dirección de cliente que no es correcta o fue eliminada.
Por este motivo cuando se accede al carro problemático, Prestashop trata de obtener la dirección asociada y al no encontrarla lanza el error.
La solución pasa por realizar una corrección desde la propia base de datos.
Accedemos a la base de datos de Prestashop desde phpMyAdmin, y accedemos a la pestaña SQL.
Desde el cuadro de texto ejecutaremos la siguiente consulta:
SELECT * FROM `ps_cart` WHERE `id_address_delivery` > 0 AND `id_address_delivery` NOT IN (SELECT `id_address` FROM `ps_address`);
Lo que hace es comprobar si existen carros con direcciones de entrega que ya no estén presentes en la base de datos.
Una vez obtengamos los resultados, hacemos click sobre los valores de las columnas id_address_delivery
para editarlos, cambiando el identificador actual por 0.
Repetimos la misma operación con esta otra consulta que comprobará las direcciones de facturación de los carritos, en este caso cambiaremos a 0 el campo id_address_invoice
en los resultados obtenidos:
SELECT * FROM `ps_cart` WHERE `id_address_invoice` > 0 AND `id_address_invoice` NOT IN (SELECT `id_address` FROM `ps_address`);
Otra solución pasaría por vaciar la tabla ps_cart, no recomendamos este método ya que implicaría perder todos los carros.