Cómo solucionar el error 'Class not found' en PrestaShop (WordPress y otros)
¿Qué significa el error "Class not found" en PrestaShop?
Si estás leyendo esto, probablemente te has encontrado con un mensaje similar a este en tu tienda online:
Fatal error: Class 'MiClase' not found in /ruta/a/tu/archivo.php on line 45
O quizás algo más específico como:
Error: Class 'Product' not found
Este es uno de los errores más comunes y, a la vez, más frustrantes para los usuarios de PrestaShop (y también de WordPress y otros CMS). Pero no te preocupes: en la gran mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo, sin necesidad de ser un experto en programación.
El error class not found PrestaShop ocurre cuando el sistema intenta utilizar una clase (un "molde" de código que define cómo funciona un objeto) pero no puede encontrarla en la ruta donde debería estar. Piensa en ello como si intentaras usar una herramienta de tu caja de herramientas y descubrieras que no está donde la dejaste: el sistema sabe qué herramienta necesita, pero no sabe dónde está.
En este artículo te voy a explicar, paso a paso y con un lenguaje muy sencillo, cómo solucionar error PrestaShop de este tipo. Vamos a ello.
Causas más comunes de este error
Antes de lanzarnos a las soluciones, es importante entender por qué ocurre este problema. Las causas más habituales son:
- Actualizaciones incompletas: Si actualizaste PrestaShop o un módulo y el proceso se interrumpió, es posible que algunos archivos no se hayan copiado correctamente.
- Módulos incompatibles: Un módulo que no es compatible con tu versión de PrestaShop puede intentar cargar clases que no existen.
- Permisos de archivos incorrectos: Si los archivos no tienen los permisos adecuados, el sistema no puede leerlos.
- Caché corrupta: La caché de PrestaShop guarda versiones "compiladas" de las clases. Si esta caché se corrompe, puede dar errores.
- Archivos faltantes o movidos: A veces, al mover archivos manualmente o al hacer copias de seguridad, se pierden archivos importantes.
- Problemas con el servidor: El hosting puede tener restricciones o configuraciones que impidan que PHP encuentre las clases.
Solución paso a paso para el error "Class not found"
Vamos a ir de las soluciones más sencillas a las más avanzadas. Te recomiendo seguir este orden, ya que la mayoría de los casos se resuelven con los primeros pasos.
1. Limpia la caché de PrestaShop
Esta es la primera solución que debes probar. La caché de PrestaShop guarda archivos temporales para acelerar la carga de tu tienda. Si estos archivos están corruptos o desactualizados, pueden provocar el error class not found PrestaShop.
Cómo hacerlo:
- Accede al panel de administración de tu PrestaShop (normalmente en
www.tutienda.com/admin). - Ve al menú Parámetros avanzados → Rendimiento.
- Busca la opción "Forzar la compilación" y actívala (ponla en "Sí").
- Guarda los cambios.
- Después, busca el botón "Vaciar la caché" y haz clic en él. Verás que hay dos opciones: "Vaciar la caché de Smarty" y "Vaciar la caché del servidor". Activa ambas.
- Vuelve a desactivar "Forzar la compilación" (ponla en "No") después de unos minutos.
[TIP] Si no puedes acceder al panel de administración, puedes borrar la caché manualmente. Usa un cliente FTP (como FileZilla) y elimina el contenido de las carpetas /var/cache y /cache de tu instalación de PrestaShop. No te preocupes, se regenerarán automáticamente.
2. Verifica los permisos de los archivos y carpetas
Los permisos incorrectos son una causa muy frecuente del PrestaShop error clase no encontrada. Si los archivos no tienen los permisos correctos, PHP no puede leerlos.
Permisos recomendados para PrestaShop:
- Carpetas: 755 (o 775 en algunos servidores).
- Archivos: 644 (o 664 en algunos servidores).
Cómo cambiarlos con FTP:
- Conéctate a tu servidor con FileZilla (o el cliente FTP que prefieras).
- Selecciona todos los archivos y carpetas de la raíz de tu instalación de PrestaShop.
- Haz clic derecho → "Permisos de archivo".
- Introduce el valor
755para carpetas y644para archivos. - Marca la opción "Recurse into subdirectories" para aplicar los cambios a todas las subcarpetas.
[WARNING] Si tu hosting es compartido, es posible que los permisos correctos sean 755 para carpetas y 644 para archivos. Pero si tienes un VPS o un servidor dedicado, puede que necesites 775 y 664. Si no estás seguro, consulta con tu proveedor de hosting.
3. Desactiva todos los módulos no esenciales
A veces, un módulo recién instalado o actualizado es el culpable. Si el error apareció después de instalar o actualizar un módulo, este es muy probablemente el causante.
Cómo desactivar módulos sin acceso al panel:
Si puedes acceder al panel de administración:
- Ve a Módulos → Gestor de módulos.
- Busca los módulos que no sean de PrestaShop (los que hayas instalado tú o los de terceros).
- Desactívalos uno a uno y comprueba si el error desaparece.
Si no puedes acceder al panel, tendrás que hacerlo por FTP:
- Conecta con FileZilla.
- Navega hasta la carpeta
/modules. - Renombra la carpeta del módulo sospechoso añadiendo un guion bajo al principio (por ejemplo,
_mimodulo). Esto lo desactivará sin necesidad de borrarlo. - Comprueba si el error se soluciona. Si es así, ya sabes cuál es el módulo problemático.
[INFO] Si el error desaparece al desactivar un módulo, tienes dos opciones: actualizarlo a una versión compatible o contactar con el desarrollador del módulo para que lo corrija.
4. Revisa los archivos .htaccess y los enlaces permanentes
Aunque este error es más común en WordPress, en PrestaShop también puede ocurrir si el archivo .htaccess está dañado o configurado incorrectamente.
Para PrestaShop:
- Conecta por FTP.
- Localiza el archivo
.htaccessen la raíz de tu instalación. - Renómbralo a
.htaccess.bak(esto lo desactivará temporalmente). - Ve a tu tienda y comprueba si el error desaparece.
- Si el error desaparece, ve al panel de administración → Parámetros avanzados → Herramientas → Regenerar .htaccess. Esto creará un archivo nuevo y correcto.
Para WordPress:
Si tienes un WordPress y te aparece este error, el procedimiento es similar:
- Ve a Ajustes → Enlaces permanentes.
- Sin cambiar nada, haz clic en "Guardar cambios".
- Esto regenerará el archivo
.htaccessautomáticamente.
5. Comprueba la versión de PHP de tu servidor
PrestaShop es muy sensible a la versión de PHP que utiliza. Si tu hosting ha actualizado PHP a una versión más reciente y tu PrestaShop es antiguo, pueden aparecer errores de clases no encontradas.
Versiones recomendadas:
- PrestaShop 1.6: PHP 5.6 o 7.0.
- PrestaShop 1.7: PHP 7.1, 7.2 o 7.3.
- PrestaShop 8.x: PHP 7.4 o 8.0.
Cómo cambiar la versión de PHP:
- Entra en el panel de control de tu hosting (cPanel, Plesk o el que uses).
- Busca la opción "Select PHP Version" o "PHP Configuration".
- Cambia la versión a la recomendada para tu PrestaShop.
- Guarda los cambios y comprueba si el error desaparece.
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso es a través del puerto 2106 (por ejemplo: https://tudominio.com:2106). Una vez dentro, busca la sección de configuración de PHP para cambiar la versión.
6. Restaura archivos desde una copia de seguridad
Si ninguna de las soluciones anteriores funciona, es posible que tengas archivos corruptos o faltantes. La solución más segura es restaurar los archivos desde una copia de seguridad reciente.
Pasos a seguir:
- Haz una copia de seguridad de tu base de datos (esto es crítico).
- Descarga una copia de seguridad completa de tus archivos (si no la tienes, contacta con tu proveedor de hosting).
- Conecta por FTP y reemplaza todos los archivos de tu instalación de PrestaShop con los de la copia de seguridad.
- No reemplaces la carpeta
/configni el archivosettings.inc.phpsi quieres conservar tu configuración actual. - Una vez restaurado, limpia la caché (como en el paso 1).
7. Reinstala PrestaShop (solo los archivos del núcleo)
Si no tienes una copia de seguridad, puedes descargar la versión de PrestaShop que tengas instalada y subir solo los archivos del núcleo (sin la carpeta /modules, /themes ni /config).
Cómo hacerlo:
- Ve al sitio oficial de PrestaShop y descarga la misma versión que tienes instalada.
- Descomprime el archivo en tu ordenador.
- Sube por FTP solo las carpetas
/classes,/controllersy/vendor(y/srcsi tienes PrestaShop 1.7 o superior). - Sobrescribe los archivos existentes.
- Limpia la caché.
[WARNING] Este método es más avanzado. Asegúrate de hacer una copia de seguridad completa antes de sobrescribir nada. Si no te sientes seguro, contacta con un profesional.
Cómo prevenir este error en el futuro
Una vez que hayas solucionado el error PrestaShop, es importante tomar medidas para que no vuelva a ocurrir:
- Actualiza siempre con cuidado: Antes de actualizar PrestaShop o un módulo, haz una copia de seguridad completa.
- Usa módulos de confianza: Instala solo módulos de desarrolladores reputados y que sean compatibles con tu versión.
- Mantén tu versión de PHP actualizada: Pero siempre dentro de las versiones soportadas por tu PrestaShop.
- Configura un sistema de copias de seguridad automáticas: Tanto de archivos como de base de datos. Así podrás restaurar rápidamente si algo falla.
- Revisa los logs de errores: PrestaShop tiene un registro de errores en Parámetros avanzados → Información → Logs. Revísalo periódicamente para detectar problemas antes de que se conviertan en errores graves.
Preguntas frecuentes (FAQ)
¿El error "Class not found" puede dañar mi tienda?
No, el error en sí no daña tu tienda ni tus datos. Solo impide que la página se cargue correctamente. Una vez solucionado, todo vuelve a la normalidad.
¿Necesito conocimientos de programación para solucionarlo?
No necesariamente. Con las soluciones que te he explicado (limpiar caché, verificar permisos, desactivar módulos), puedes resolver la mayoría de los casos sin tocar una línea de código.
¿Puedo evitar este error si no actualizo nunca mi PrestaShop?
No es recomendable. Las versiones antiguas tienen vulnerabilidades de seguridad. Es mejor mantener PrestaShop actualizado, pero siempre con copias de seguridad previas.
¿Qué hago si ninguna de estas soluciones funciona?
Si has probado todos los pasos y el error persiste, es recomendable contactar con tu proveedor de hosting o con un desarrollador especializado en PrestaShop. Ellos podrán analizar los logs del servidor para encontrar la causa exacta.
Conclusión
El error class not found PrestaShop puede parecer aterrador al principio, pero como has visto, tiene solución en la mayoría de los casos. La clave está en ir probando las soluciones de forma metódica, desde las más sencillas (limpiar caché) hasta las más avanzadas (restaurar archivos).
Recuerda que la prevención es siempre mejor que la cura: mantén copias de seguridad actualizadas, usa módulos de confianza y no actualices sin antes verificar la compatibilidad.
Si has llegado hasta aquí, espero que ya hayas podido solucionar el error PrestaShop y que tu tienda vuelva a funcionar con normalidad. Si te ha quedado alguna duda, déjala en los comentarios y estaré encantado de ayudarte.
¡Mucha suerte con tu tienda online!
