Si os gusta la personalización tanto como a mí seguramente se os habrá planteado la necesidad de modificar algún complemento, módulo o sálida HTML de Joomla.
La sobreescritura permite hacer una copia exacta de un fichero y obligar a Joomla a que utilice dicha copia, pudiendo nosotros modificarla a nuestro gusto. Pongamos como ejemplo el módulo de login de Joomla, por defecto yo tendría este login:
Pero quiero añadirle un botón que vaya a la página de registro:
Bien, siendo el módulo de login y siguiendo la estructura de archivos de Joomla, yo debería modificar el archivo situado en:
Y podría modificarlo, pero dentro de 2 meses, o semanas puede aparecer una actualización de Joomla la cual yo actualizaría (porque siempre hay que tener los sistemas actualizados) y el módulo de login se vería actualizado y yo perdería mis cambios. Pues vaya… ¿entonces qué hago? Pues una sobreescritura (override) del archivo.
Debo hacerlo en mi plantilla, y las plantillas están en:
Mi plantilla se llama vk así que yo tendría:
Pues para sobreescribir tengo que crear dentro de este directorio una nueva carpeta llamada “html” la cual contendrá todas las sobreescrituras siguiendo la siguiente estructura:
Y en nuestro ejemplo quedaría así:
Todos los cambios que yo realice en la sobreescritura solo afectarán a mi plantilla. Lo cual significa que nunca se verán borrados al actualizar el sistema y no tocaré archivos que puedan romper el sistema.
Los archivos quedarían de la siguiente manera, para el default.php original:
El archivo es totalmente original, no ha sido modificado.
Para el default.php sobreescrito:
El archivo está modificado a nuestro gusto, he añadido un enlace a la página de registro.
Sí, salvo añadiendo un directorio más, el de la vista (view):
Por ejemplo para sobreescribir el archivo:
Lo haríamos de la siguiente manera:
Y esto es todo, ahora ya podéis modificar cualquier módulo y componente sin ningún peligro.