Layout override es una técnica para sobrescribir el template de un componente o módulo en Joomla. Esta funcionalidad se incluyó a partir del Joomla 1.5. El objetivo principal de esta técnica es permitir actualizar Joomla sin tener que preocuparse de que se vean afectados los cambios realizados previamente para personalizar el portal. En el siguiente tutorial veremos cómo sobrescribir los templates de los modulos y componentes de Joomla! 1.6.
¿Porque hacer un override?
Muchas veces no nos gusta el template de algún módulo o componente de Joomla! tipo el módulo de login, el componente de contacto, etc. Ésta técnica nos permite cambiar la visualización de nuestros componentes o módulos sin tener que modificar el código original. Por lo tanto se puede actualizar cualquier módulo o componente de Joomla! sin perder los cambios de visualización que hayamos hecho.
De ésta manera siempre podemos volver al código original en caso de que no nos guste o hayamos provocado algún error en la web. También nos permite, por ejemplo, crear varios módulos de un mismo tipo, pero que cada uno utilice su propio template.
Normalmente todas las plantillas tienen una carpeta llamada html (/templates/nombre_template/html), en el caso de que no existiera se puede crear, ya que es la carpeta que se utiliza para sobrescribir los templates.
Override de un módulo
Dentro de la carpeta html se puede crear una nueva carpeta con el mismo nombre que el módulo que se quiere sobrescribir.
Despues tienes que crear un archivo .php con el nombre deseado (una restricción es que no se puede utilizar el carácter guión bajo (_) en el nombre) que será el nombre del nuevo template del módulo (también se puede crear uno que se llame default.php como el original). Normalmente copiaremos el contenido del template por defecto en el nuestro y haremos las modificaciones que queramos.
En la configuración de los parámetros del módulo que queremos sobrescribir, en el apartado Templates Alternativos de la pestaña Opciones Avanzadas, podemos escoger, además del template por defecto del módulo, el template que hemos creado nosotros.
Override de un componente
El funcionamiento es el mismo que con los módulos excepto que aquí no se puede cambiar el nombre al template, es decir que obligatoriamente debe llamarse default.php (o el mismo nombre que utilice el componente).
Tienes que crear en la carpeta html del template la carpeta con el nombre del componente, una carpeta con el nombre de la vista (en caso de que tuviera diferentes vistas) y el archivo default.php
De ésta manera el componente cuando muestre la información, primero buscará en la carpeta html si existe la vista del componente con el mismo nombre, sino utilizará el original del componente.
Por WebActualizable (www.webactualizable.com), empresa especializada en el desarrollo de proyectos sobre Joomla.