Uno de los problemas que más me encuentro al revisar webs Joomla es que alguien, en algún momento, modificó directamente los archivos de Joomla o de una extensión para cambiar cómo se veía algo. Funciona hasta el día en que se actualiza: la actualización sobrescribe esos archivos y el cambio desaparece. O, peor, nadie actualiza nunca por miedo a romperlo.
Qué es un override
Un override (sobrescritura de plantilla) es una copia de un archivo de presentación que se guarda dentro de la carpeta de tu plantilla. Joomla busca primero ahí; si encuentra el archivo, usa tu versión en lugar de la original. Las actualizaciones de Joomla no tocan la carpeta de la plantilla, así que tu cambio se mantiene.
Cómo se crea
- Entra en Sistema → Plantillas del sitio y abre los detalles y archivos de tu plantilla (por ejemplo, Cassiopeia).
- Pulsa la pestaña Crear sobrescrituras.
- Elige el componente, módulo o diseño que quieres cambiar. Por ejemplo,
com_content → article. - Joomla copia los archivos a
templates/tu-plantilla/html/com_content/article/. - Edita esa copia. El original queda intacto.
Qué se puede cambiar con un override
- El orden de los elementos de un artículo: fecha, autor, imagen, etiquetas.
- El HTML de un módulo, para que encaje con el diseño.
- Los campos personalizados: mostrarlos donde y como quieras, en vez de en la lista por defecto.
- Diseños alternativos: varias presentaciones del mismo módulo o artículo para elegir desde la administración.
Plantillas hijas
Desde Joomla 4.1 existen las plantillas hijas: una plantilla que hereda todo de otra y solo guarda lo que cambias. Es la mejor forma de personalizar Cassiopeia: la plantilla original se sigue actualizando y tus cambios viven en la hija.
Lo que hay que vigilar
Un override es una copia de un archivo en un momento dado. Si una actualización de Joomla mejora ese archivo, tu copia no recibe la mejora. Joomla avisa de ello en el gestor de plantillas, marcando los overrides cuyo original ha cambiado. Conviene revisarlos tras las actualizaciones grandes.
Cuándo no basta un override
Los overrides cambian cómo se ve algo, no lo que hace. Si necesitas otra lógica (un cálculo, una integración, un filtro nuevo), lo correcto es un plugin o un módulo propio, no meter código en una plantilla.
¿Necesitas ayuda con esto? Es parte de mi servicio de Desarrollo de extensiones Joomla. Cuéntame tu caso.