Solucionar problemas
Error "Shop not found at line xxx in file classes/shop/Shop.php"
Shop not found at line xxx in file classes/shop/Shop.php indica que PrestaShop no pudo cargar una tienda válida. La excepción no demuestra por sí sola que PS_SHOP_DEFAULT sea el origen inicial.
En el front office, PrestaShop intenta primero identificar la tienda correspondiente al dominio y a la ruta solicitados. Si esa tienda no se resuelve, no carga o no está activa, intenta abrir la tienda definida por PS_SHOP_DEFAULT; la excepción aparece cuando tampoco puede cargar ese fallback.
// No shop found ... too bad, let's redirect to default shop $default_shop = new Shop((int) Configuration::get('PS_SHOP_DEFAULT')); // Hmm there is something really bad in your Prestashop ! if (!Validate::isLoadedObject($default_shop)) { throw new PrestaShopException('Shop not found'); }
Conserva la URL exacta y la traza antes de modificar la base de datos. En una instalación multitienda, comprueba estas relaciones con el prefijo real de las tablas:
- En
PREFIX_shop_url, revisadomain,domain_ssl,physical_uri,virtual_uri,mainyactivepara el host y la ruta que fallan. - En
PREFIX_shop, confirma que la tienda obtenida y la predeterminada existen, están activas y no figuran como eliminadas. - En
PREFIX_configuration, lista todas las filasPS_SHOP_DEFAULTjunto conid_shop_groupeid_shop. El valor efectivo puede depender del contexto de grupo o tienda.
No edites la primera fila que encuentres ni copies un identificador de otra tienda sin verificar el contexto. Crea antes una copia de la base de datos y ensaya la corrección en un clon; una URL o tienda predeterminada incorrecta puede afectar a todas las peticiones del front office.
Si no puedes determinar qué ámbito resuelve Configuration::get(), contacta con soporte e indica el dominio, la ruta que falla, la hora aproximada y la traza. No envíes credenciales en el ticket.
Comprobar dominio y ruta antes de tocar datos
Si ocurrió después de un cambio de dominio, confirma primero a qué servidor llega la petición y la raíz documental que utiliza. Una base correcta no evita el error si estás abriendo otra copia de la tienda con un host que no tiene registrado.
Tras la corrección mínima, prueba HTTP/HTTPS, la variante con o sin www elegida, una página interior y la administración. En multitienda revisa también las tiendas que no debían cambiar y que el fallback no lleve al visitante a otro catálogo.
También te puede ayudar
- PrestaShopException: diagnosticar Invalid address Localiza la referencia exacta que provoca Invalid address y sanea solo carritos sin pedido, preserva...
- Error de zonas horarias de GLPI con MariaDB o MySQL Distingue entre datos de zonas horarias no cargados y el permiso que solo requieren versiones de GLP...
- PrestaShop, tamaño excesivo de la tabla layered_filter_block Mide y limpia la caché de Búsqueda por facetas, distingue su índice de precios y actualiza el módulo...
- Error SQLSTATE 2026 al instalar o actualizar PrestaShop Diagnostica la conexión SSL con MySQL que impide a Doctrine consultar la versión del servidor, sin c...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.