Solucionando el error "PrestaShopException Invalid Address"

[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.