Cómo Solucionar el Error de Overrides en PrestaShop de Forma Definitiva

Cómo Solucionar el Error de Overrides en PrestaShop de Forma Definitiva
Anuncio relacionado

Introducción al Error de Overrides en PrestaShop

Uno de los dolores de cabeza más comunes para los administradores y desarrolladores de tiendas virtuales es el fallo relacionado con los overrides (sobrescrituras de clases y controladores). Cuando instalas un nuevo módulo o actualizas el núcleo, es frecuente encontrarse con pantallas blancas o excepciones fatales que impiden el correcto funcionamiento del sitio. En este artículo te mostraremos cómo solucionar este problema de forma definitiva.

¿Cuáles son las causas del error de sobrescritura?

El sistema de overrides de PrestaShop permite modificar el comportamiento original del core sin alterar los archivos nativos. Sin embargo, los motivos principales por los que falla incluyen:

  • Incompatibilidad entre dos módulos que intentan sobrescribir la misma clase o método (por ejemplo, Product.php o CartController.php).
  • La caché de PrestaShop no se ha regenerado tras eliminar o añadir un archivo de override.
  • Errores de sintaxis en el archivo PHP del override personalizado.
  • Falta de permisos de escritura en la carpeta /cache o /var/cache.

Método 1: Borrar la caché y regenerar el archivo class_index.php

En la gran mayoría de los casos, PrestaShop almacena un índice de todas las clases y sus overrides disponibles. Si este archivo se corrompe, la tienda dejará de funcionar.

  1. Accede a tu servidor mediante FTP o el Administrador de Archivos de tu Hosting.
  2. Navega hasta la ruta /var/cache/ (en versiones recientes) o /cache/ (en versiones antiguas).
  3. Busca y elimina manualmente el archivo llamado class_index.php.
  4. Entra al Panel de Administración (Backoffice) de tu PrestaShop, ve a Parámetros Avanzados > Rendimiento y haz clic en el botón Borrar caché.

Método 2: Desactivar los overrides temporalmente vía FTP

Si no puedes acceder al panel de administración debido a una pantalla blanca o un error 500, deberás desactivar los overrides desde la base de datos o mediante código.

  1. Accede a tu base de datos utilizando phpMyAdmin.
  2. Busca la tabla ps_configuration (el prefijo ps_ puede variar).
  3. Utiliza la herramienta de búsqueda para localizar el registro con el nombre PS_DISABLE_OVERRIDES.
  4. Cambia el valor de la columna value de 0 a 1 y guarda los cambios.
  5. Visita tu tienda online; si carga correctamente, sabrás con certeza que el problema proviene de uno de tus overrides.

Método 3: Depurar y corregir conflictos de código en módulos

Si el problema persiste, debes activar el modo debug para identificar exactamente qué archivo está fallando.

  1. Abre el archivo config/defines.inc.php en tu servidor.
  2. Busca la línea que define _PS_MODE_DEV_ y cámbiala de false a true: define('_PS_MODE_DEV_', true);.
  3. Recarga tu página web para ver el error exacto y el rastro de la pila (stack trace), el cual te indicará el nombre de la clase conflictiva.
  4. Revisa el archivo en override/classes/ o override/controllers/ y soluciona el conflicto de métodos duplicados.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Magento

Cómo Solucionar el Error de Indexación en Magento 2 de Forma Definitiva

Los fallos en el indexador de Magento 2 pueden desactualizar tu catálogo. Descubre cómo resolver este problema técnico de forma definitiva.

Leer guía completa →
Shopify

Cómo Solucionar el Error de Sintaxis Liquid en Shopify de Forma Definitiva

Descubre cómo solucionar los molestos errores de sintaxis en tus plantillas Liquid de Shopify. Sigue nuestra guía paso a paso para corregir tu código.

Leer guía completa →
Windows

Cómo Solucionar el Error DNS_PROBE_FINISHED_NXDOMAIN en Windows de Forma Definitiva

Aprende a resolver el molesto error DNS_PROBE_FINISHED_NXDOMAIN en tu PC con Windows aplicando métodos efectivos de configuración de red.

Leer guía completa →