Sobreescritura de vistas en Joomla

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:

JOOMLA/modules/mod_login/tmpl/default.php

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.

 

¿Cómo sobrescribo un módulo?

Debo hacerlo en mi plantilla, y las plantillas están en:

JOOMLA/templates/

Mi plantilla se llama vk así que yo tendría:

JOOMLA/templates/vk

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:

JOOMLA/templates/vk/html/NOMBRE_MODULO/ARCHIVO.php

Y en nuestro ejemplo quedaría así:

JOOMLA/templates/vk/html/mod_login/default.php

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.

 

¿Para un componente es igual?

Sí, salvo añadiendo un directorio más, el de la vista (view):

JOOMLA/templates/vk/html/NOMBRE_COMPONENTE/VISTA/ARCHIVO.php

Por ejemplo para sobreescribir el archivo:

JOOMLA/components/com_content/views/article/tmpl/default.php

Lo haríamos de la siguiente manera:

JOOMLA/templates/html/com_content/article/default.php

 

Y esto es todo, ahora ya podéis modificar cualquier módulo y componente sin ningún peligro.

Encuentra ayuda

¿Te queda alguna duda?

Hostingato ® 2022. Marca registrada.

Las cookies son importantes para ti, influyen en tu experiencia de navegación. Usamos cookies técnicas y analíticas. Puedes consultar nuestra Política de cookies. Al hacer click en "Aceptar", consientes que todas las cookies se guarden en tu dispositivo o puedes configurarlas o rechazar su uso pulsando en "Configurar".

Aceptar Configurar