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" es un error poco frecuente que puede ser algo difícil de depurar si no se tienen conocimientos de programación.

La respuesta al problema la encontramos en el fichero al que apunta el error classes/shop/Shop.php, en este fichero encontraremos un bloque similar al siguiente (found at line xxx nos indica el número de línea donde se produce el fallo):

// 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');
}

En este código vemos que PrestaShop arrojará un error Shop not found siempre que no logre identificar un valor válido para PS_SHOP_DEFAULT.

PS_SHOP_DEFAULT se almacena en la tabla configuration y tiene como valor un identificador, ese identificador debe coincidir con alguna tienda que aparezca en la tabla ps_shop.

Para resolver el problema deberemos hacer las siguientes comprobaciones:

  • Acceder a la base de datos y verificar que la tabla configuration (puede llevar un prefijo tipo ps_) existe, y que se tiene una fila con identificador PS_SHOP_DEFAULT.
  • Comprobar el valor que aparece en la fila PS_SHOP_DEFAULT y contrastar con el identificador de la tabla shop ambos deberían coincidir.

Estas comprobaciones sin conocimientos técnicos pueden resultar algo tediosas, por lo que si lo prefieres, simplemente contáctanos y te ayudamos a depurar el problema.