Oferta de lanzamiento

Licencia Founders: actualizaciones durante al menos 2 años

149 €pago único, IVA no incluido

Una licencia Shop normal cuesta 199 €.

Para las primeras 100 licencias Shop, hasta el 10 de diciembre de 2026. Actualizaciones y conocimiento nuevo del Asesor durante al menos 2 años, sin renovación. Una licencia Shop normal: 12 meses.

Conseguir Founders por 149 €

Unable to install override en PrestaShop: un conflicto de overrides y cómo resolverlo

El mensaje «Unable to install override» en PrestaShop significa que el módulo que instalas quiere sobrescribir un método de una clase que ya sobrescribe otro módulo, o un archivo antiguo de la carpeta override. PrestaShop no combina dos overrides por sí solo, así que detiene la instalación. La solución es quitar el override huérfano o combinar a mano ambos códigos, con copias de seguridad.

Autor: El equipo de TellMyShop. Una guía para dueños de tiendas PrestaShop: la causa, el arreglo manual y el mismo trabajo en una conversación con el chat.
Última actualización: · 7 min de lectura

¿De dónde sale un conflicto de overrides?

Un override es un archivo con el que un módulo sustituye una parte del funcionamiento de PrestaShop, por ejemplo cómo se calcula el coste de envío en el carrito. Al instalarlo, PrestaShop copia ese archivo de la carpeta del módulo a la carpeta override de la tienda. Al desinstalarlo, lo quita de ahí.

Los overrides son exclusivos. Un método de una clase solo puede tener una versión sustituida. La documentación para desarrolladores de PrestaShop dice claramente que un módulo con un override puede impedir que otros módulos cambien el mismo comportamiento. Por eso el equipo de PrestaShop recomienda los overrides solo en tus propios módulos, mientras que los módulos a la venta usan hooks.

Las situaciones más habituales que acaban con este mensaje:

SituaciónCómo reconocerlaQué suele ayudar
Dos módulos cambian el mismo métodoel mensaje nombra la clase y el método, y override tiene un archivo con ese método de otro módulocombinar el código de los dos overrides en un archivo, o prescindir de un módulo
Un override que dejó un módulo antiguoel módulo no está en la lista, pero el archivo de override sigue teniendo su códigoquitar el método huérfano del archivo, con copia de seguridad
Reinstalar el mismo móduloel módulo se desinstaló con un error y no limpióquitar los restos y volver a instalar
Un cambio manual de hace añosun archivo en override sin comentario sobre ningún módulo, nadie recuerda de dónde salióaveriguar con el programador anterior qué hace antes de tocar nada
Una caché de clases antiguael error vuelve después de quitar el overridevaciar la caché de la tienda

El proveedor polaco de módulos PrestaShow describe el mismo patrón en su base de conocimiento (en polaco): renombrar el archivo existente, instalar el módulo y luego combinar a mano los dos archivos. También aconseja activar el modo mantenimiento durante ese tiempo.

Cómo resolver «Unable to install override» paso a paso

Es un trabajo para tu programador. Abajo tienes una lista que le puedes pasar. Cada paso empieza con una copia de seguridad, porque los archivos de override cambian el funcionamiento de toda la tienda.

  1. Guarda el mensaje completo. Necesitas el nombre de la clase y del método. Sin ellos el programador va a ciegas.
  2. Haz una copia de seguridad de la base de datos y de la carpeta override. Mejor de toda la tienda, o al menos de esa carpeta y de la carpeta del módulo que se instala.
  3. Encuentra el archivo que ya sobrescribe este método. Para la clase Cart suele ser override/classes/Cart.php. Los módulos suelen dejar sobre el método un comentario con el nombre del módulo y la fecha de instalación.
  4. Comprueba si el módulo dueño está en la tienda. Si no está, el método es huérfano y se puede quitar del archivo. Si está, hay que combinar el código de los dos módulos para que funcionen los dos.
  5. Vacía la caché. En Parámetros avanzados → Rendimiento hay un botón para vaciar la caché. PrestaShop vuelve a crear entonces la lista de clases con overrides.
  6. Vuelve a instalar el módulo y revisa el carrito, la entrega o lo que toque el override. Haz un pedido de prueba.

Para buscar al culpable ayuda el interruptor «Desactivar todos los overrides» de Parámetros avanzados → Rendimiento. La documentación funcional de PrestaShop lo describe como el interruptor de todos los overrides de clases y controladores. Afecta a toda la tienda, así que úsalo poco tiempo, mejor en una copia de pruebas.

Qué no hacer cuando un módulo no se instala

Unos cuantos atajos que convierten un mensaje en un problema mayor:

  • Borrar a ciegas un archivo de override. El módulo que lo añadió deja de funcionar sin ningún mensaje. A veces es el coste de envío o un descuento en el carrito.
  • Copiar un método de un archivo a otro sin leerlo. Dos versiones del mismo método en una clase son un error de PHP y una pantalla en blanco.
  • Editar archivos en la carpeta del módulo. Los cambios desaparecen cuando el módulo se actualiza, y el conflicto vuelve.
  • Dejar los overrides desactivados para siempre. Los módulos que los necesitan funcionan entonces a medias.

Si después de la instalación apareció un error 500, consulta la guía sobre el error 500 en PrestaShop. El mensaje de error lo encontrarás después de activar el modo debug.

¿Cómo puede ayudar el chat a un programador con un conflicto de overrides?

Tu chat (Claude o ChatGPT) con el módulo TellMyShop lee la tienda como lo haría un programador en una primera reunión. En la versión gratuita TellMyShop Free ve la lista de módulos con sus versiones y el registro de errores de la tienda, así que ayuda a precisar cuándo empezó el problema. Solo TellMyShop Pro lee los archivos de override y de los módulos, sin necesidad de interruptores.

Tú: Al instalar el módulo de entregas sale Unable to install override, método getOrderShippingCost de la clase Cart. ¿Qué hago?

Tu chat: En override/classes/Cart.php, el método getOrderShippingCost lo sobrescribe el módulo de envío gratis. Ese módulo está instalado y activado. El módulo nuevo quiere sobrescribir el mismo método. Propongo combinar las dos versiones: primero calcula el módulo nuevo, y el umbral de envío gratis funciona como ahora. Vista previa del cambio en el archivo:

Guardar un archivo en la carpeta override necesita el interruptor Mantenimiento. Haré una copia del archivo antes de guardar. ¿Te enseño el código completo para que lo revise tu programador?

Estado de la tarjeta: esperando tu «sí»
vista previa del cambio

versión anterior: public function getOrderShippingCost(...) { /* versión del módulo de envío gratis */ }

versión nueva: public function getOrderShippingCost(...) { /* versión combinada: módulo nuevo + umbral de envío gratis */ }

Ilustración: los productos, las cifras y las respuestas son de ejemplo.

Los nombres de los módulos y el código del ejemplo son ilustrativos. En una conversación real el chat muestra el código completo del método, no un resumen.

Qué necesita cada paso:

  • Leer los archivos de override y de los módulos funciona en TellMyShop Pro desde el principio, para archivos de texto de hasta 1 MB.
  • Cambiar un archivo en la carpeta de un módulo necesita el interruptor Módulos, que dura 24 horas.
  • Cambiar un archivo en la carpeta override de la tienda depende del interruptor Mantenimiento. Da acceso técnico completo, así que se desactiva solo al cabo de 3 horas.
  • Reinstalar un módulo desde un paquete ZIP vuelve a necesitar el interruptor Módulos.

Cualquiera de los dos interruptores solo se puede activar cuando el plugin tiene una copia de seguridad correcta de la base de datos del mismo día. Antes de guardar cada archivo se hace una copia, y en los archivos PHP se comprueba que no haya errores de sintaxis. Cada cambio lo ves primero en una vista previa, se guarda después de tu «sí» y queda en el historial de cambios. Puedes deshacer la mayoría de los cambios, incluido un archivo restaurado desde su copia. Desinstalar un módulo no se puede deshacer, así que el chat propone desactivarlo primero.

Para ser justos: al combinar el código de dos módulos, el chat muestra la causa y un borrador de la corrección, pero la responsabilidad de decidir si el método combinado hace lo que esperan los dos módulos es del programador o del autor del módulo. Encontrarás un ejemplo parecido en el caso de uso corregir un error en el código de un módulo, y la lectura del registro en el caso de uso mensajes de error después de actualizar un módulo.

¿Cómo evitar conflictos con módulos futuros?

Antes de comprar un módulo, pregunta al autor si usa overrides y, si es así, para qué clases. Los módulos construidos con hooks chocan menos. Al instalar, sigue el orden de la guía sobre cómo instalar un módulo de PrestaShop, y desactiva los módulos que no usas en vez de borrarlos hasta que estés seguro de que nada depende de ellos.

Antes de ponerte a ordenar los módulos, puedes revisar la tienda con la versión gratuita TellMyShop Free. La lectura completa de archivos y el guardado con copias de seguridad funcionan en TellMyShop Pro; los precios están en los precios.

Preguntas y respuestas

¿Qué significa exactamente el mensaje Unable to install override?

PrestaShop intenta copiar el archivo de override del módulo que se instala a la carpeta override de la tienda y choca con un método que ya cambia otro archivo. Dos módulos no pueden sobrescribir el mismo método de la misma clase, así que la instalación se detiene. El mensaje suele nombrar la clase y el método, por ejemplo Cart y getOrderShippingCost.

¿Este error rompe una tienda que ya funciona?

Normalmente no. La instalación del módulo nuevo no termina, y la tienda funciona como antes del intento. Los problemas empiezan cuando alguien intenta saltárselo a la fuerza, por ejemplo borrando un archivo de la carpeta override sin comprobar de quién es.

¿Puedo borrar sin más el archivo de la carpeta override?

Solo cuando sabes que pertenece a un módulo que ya no está en la tienda. Si el archivo pertenece a un módulo que funciona, ese módulo dejará de hacer aquello para lo que sirve, como calcular la entrega a su manera. Comprueba primero qué módulo añadió el override y haz una copia del archivo.

¿TellMyShop resolverá solo el conflicto de overrides?

TellMyShop Pro deja que el chat lea los dos overrides, señale el método en conflicto y prepare un archivo combinado en una vista previa. Guardar un archivo en la carpeta override requiere activar el interruptor Mantenimiento durante 3 horas, y antes de guardar se hace una copia del archivo. La decisión de cómo combinar el código de dos módulos es mejor dejarla a un programador o al autor del módulo.

PrestaShop es una marca registrada de PrestaShop SA. Claude es una marca de Anthropic PBC. ChatGPT y OpenAI son marcas de OpenAI. TellMyShop no está afiliado a estas empresas.

Revisa tu tienda gratis

TellMyShop Free revisa tu tienda y te muestra los problemas, empezando por los más importantes. No guarda nada.

Comprueba si tu tienda está lista

Escribe la dirección de tu tienda. En unos segundos verás la plataforma y si TellMyShop funcionará.

Comprobamos la dirección, el HTTPS y la plataforma. No instalas nada y no guardamos la dirección.

tutienda.esResultado de ejemplo
La tienda responde
sí
HTTPS
activado
Plataforma
PrestaShop 8.1
TellMyShop funcionará

Sigue leyendo

Free por 0 €, lee y aconseja

Descargar Free