Resolver problemas
Erro "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 o PrestaShop não conseguiu carregar uma loja válida. A exceção não demonstra por si só que PS_SHOP_DEFAULT seja a origem inicial.
No front office, o PrestaShop tenta primeiro identificar a loja correspondente ao domínio e ao caminho pedidos. Se essa loja não for resolvida, não carregar ou não estiver ativa, tenta abrir a loja definida por PS_SHOP_DEFAULT; a exceção aparece quando também não consegue carregar esse 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'); }
Guarde o URL exato e o rastreio antes de modificar a base de dados. Numa instalação multiloja, verifique estas relações com o prefixo real das tabelas:
- Em
PREFIX_shop_url, revejadomain,domain_ssl,physical_uri,virtual_uri,maineactivepara o host e o caminho que falham. - Em
PREFIX_shop, confirme que a loja obtida e a predefinida existem, estão ativas e não constam como eliminadas. - Em
PREFIX_configuration, liste todas as linhasPS_SHOP_DEFAULTjuntamente comid_shop_groupeid_shop. O valor efetivo pode depender do contexto de grupo ou de loja.
Não edite a primeira linha que encontrar nem copie um identificador de outra loja sem verificar o contexto. Crie antes uma cópia da base de dados e teste a correção num clone; um URL ou uma loja predefinida incorretos podem afetar todos os pedidos do front office.
Se não conseguir determinar que âmbito Configuration::get() resolve, contacte o suporte e indique o domínio, o caminho que falha, a hora aproximada e o rastreio. Não envie credenciais no ticket.
Verificar domínio e caminho antes de mexer nos dados
Se ocorreu depois de uma mudança de domínio, confirme primeiro a que servidor chega o pedido e que raiz de documentos utiliza. Uma base correta não evita o erro se estiver a abrir outra cópia da loja com um host que não tem registado.
Depois da correção mínima, teste HTTP/HTTPS, a variante com ou sem www escolhida, uma página interior e a administração. Em multiloja, reveja também as lojas que não deviam mudar e verifique que o fallback não leva o visitante a outro catálogo.
Também lhe pode ser útil
- PrestaShopException: diagnosticar Invalid address Localize a referência exata que provoca Invalid address e corrija apenas carrinhos sem encomenda, pr...
- Erro de fusos horários do GLPI com MariaDB ou MySQL Distingue entre dados de fusos horários não carregados e a permissão que só as versões do GLPI anter...
- PrestaShop: tamanho excessivo da tabela layered_filter_block Meça e limpe a cache da pesquisa por facetas, distinga o seu índice de preços e atualize o módulo an...
- Erro SQLSTATE 2026 ao instalar ou atualizar o PrestaShop Diagnostique a ligação SSL com o MySQL que impede o Doctrine de consultar a versão do servidor, sem...
Algo não bate certo ou mudou? Diga-nos e revemos.