LinuxParty
Un "Template Override" (sobrescritura de plantilla) es un término utilizado en el desarrollo web para describir la acción de reemplazar o modificar el código de una plantilla existente en un sistema de gestión de contenidos (CMS) o framework.
En el contexto de un CMS, como WordPress, Joomla o Drupal, las plantillas son archivos que controlan la apariencia visual de un sitio web. Permiten definir la estructura, el diseño y la presentación de diferentes elementos, como encabezados, pies de página, barras laterales y otros componentes visuales.
Cuando se realiza una "template override", se crea una versión personalizada de una plantilla existente para modificar su comportamiento o su apariencia visual. Esto se logra al copiar y modificar los archivos de plantilla originales en una ubicación específica, generalmente en un directorio personalizado que no se ve afectado por las actualizaciones del CMS o del tema.
La sobrescritura de plantillas se utiliza con frecuencia para personalizar aspectos específicos de un sitio web sin afectar la funcionalidad central del CMS o del tema. Por ejemplo, si deseas modificar la forma en que se muestra un archivo de publicación en un blog, puedes crear un "override" de la plantilla de archivo de publicación y hacer los cambios necesarios sin alterar la plantilla principal.
Este enfoque ofrece flexibilidad para adaptar un sitio web a tus necesidades específicas sin tener que modificar directamente los archivos centrales del CMS o del tema, lo que facilita la actualización del software sin perder las modificaciones personalizadas.
Las sobrescrituras de plantillas son, para mí, la característica más poderosa de Joomla. Los uso mucho y son lo que marca la diferencia entre un sitio web atractivo y uno excelente. Pueden ser tan simples como mover la imagen de introducción sobre el título del artículo a algo más complejo, incluidos los cambios de CSS y JavaScript, como crear una galería de fotos de una categoría de artículos o crear un conjunto de botones para filtrar el contenido.
Solo hay algunos problemas
¿Cómo reutilizo una sobrescritura de plantilla?
Si una sobrescritura es lo suficientemente buena para un sitio que creé el mes pasado, entonces puede ser útil en el nuevo sitio que estoy construyendo actualmente. Excavar en el sistema de archivos para hacer una copia de los archivos, encontrar cualquier cambio de CSS y copiarlos y luego revertir el proceso en el nuevo sitio no es productivo, eficiente o confiable. Podría estar bien para un sitio, pero ¿realmente quieres hacer esto cada vez? También puede encontrar algunos sitios web y blogs que comparten sobrescrituras de plantillas, pero las instrucciones para usarlas pueden ser bastante complejas y atemorizantes.
¿Cómo tengo varias sobrescrituras de plantilla para la misma vista?
Si ya tengo una sobrescritura para la categoría del blog, se vuelve aún más complicado agregar una sobrescritura adicional para la misma vista. A veces, esto se puede lograr simplemente cambiando el nombre del diseño, pero no todos los componentes tienen la capacidad de seleccionar un diseño alternativo. (Hay algunos trucos para evitar esa limitación, pero eso solo agrega otra capa de complejidad). Cambiar el nombre del diseño también elimina la conexión entre este y el componente original, por lo que se perderá cualquier notificación de que el original ha cambiado en una actualización. Es posible que se pierda correcciones de errores, nuevas funciones e incluso una corrección de seguridad.
Resolución de problemas
Todavía soy lo suficientemente ingenuo como para creer en un mundo ideal, un mundo donde el dinero crece en los árboles y donde el repollo sabe a chocolate. O tal vez no sea ingenuidad sino confianza en que con el software de código abierto siempre puede crear una solución a su problema o encontrar a alguien o algo que lo haga.
¿Identifica los problemas?
Lo que quiero, lo que realmente quiero es un método que haga que mi plantilla se anule:
- fácil de instalar en cualquier sitio
- puede crear múltiples sobrescrituras del mismo diseño
- fácil de compartir
- fácil de actualizar
Encontrar una solución
He estado pensando en esto por un tiempo y simplemente no podía ver una solución a todos estos problemas. Tenía algunas ideas que podrían funcionar a corto plazo, pero nunca iban a ser una solución confiable a largo plazo y luego tuve mi propio momento eureka. No es lo mismo que Arquímedes, no salté del baño y corrí por la calle gritando, pero aún así lo suficientemente bueno para compartir.
Usa lo que sabes
Plantillas secundarias
Si no has oído hablar de ellos (son nuevos en Joomla 4): una plantilla infantil es exactamente lo que parece. Una plantilla secundaria es como cualquier otra plantilla, pero solo contiene los archivos que son diferentes a su plantilla principal. Cuando crea una plantilla secundaria y le agrega una sobrescritura, cuando usa esa plantilla puede acceder a la sobrescritura y todo lo demás se hereda de la plantilla principal.
No vi el beneficio de los niños.
Admito que hasta ahora no había visto el beneficio completo de las plantillas secundarias, ya que todavía pensaba en la mentalidad de una plantilla por sitio. Puede crear tantas plantillas secundarias como desee y puede usar varias plantillas en el mismo sitio simplemente asignándolas a un elemento del menú. De esta manera, puedo crear una plantilla secundaria llamada Galería y usar la sobrescritura de la categoría de mi blog y crear una plantilla secundaria llamada Filtertags, también una sobrescritura de la categoría del blog, sin que entren en conflicto simplemente asignando la plantilla correcta al elemento de menú apropiado.
Cambiar mi proceso de compilación
Desde mi momento eureka, ahora creo cada sobrescritura en su propia plantilla secundaria, le doy un nombre apropiado y lo asigno al elemento de menú correspondiente. La plantilla secundaria solo contiene los archivos y el código que se han cambiado para la sobrescritura. Como todo lo demás, incluidos CSS y JavaScript, proviene del padre, si cambio la familia de fuentes o el esquema de color en la plantilla principal, cada uno de los hijos también usará esos cambios.
Completando el círculo
No hay funcionalidad, en este momento, para exportar una plantilla secundaria para que pueda importarla a un nuevo sitio. Con suerte, alguien leerá este artículo y creará una solicitud de extracción, por lo que por ahora es un proceso manual, pero solo tiene que hacerlo una vez y luego tiene una plantilla secundaria que puede instalar en cualquier sitio.
Crear una plantilla secundaria instalable
Paso 1 - Crea la estructura mínima
Como vamos a heredar todo de la plantilla principal, esto se puede mantener al mínimo absoluto. He creado una plantilla secundaria en blanco de ejemplo que puede descargar y personalizar.
Paso 2 - PlantillaDetalles.xml
Tome mi archivo de ejemplo y reemplace BTXXXXX con el nombre de su plantilla secundaria y actualice otros valores según sea necesario. Verá en mi ejemplo que agrego mis iniciales al nombre de la plantilla secundaria para evitar cualquier posible conflicto con otras plantillas secundarias.
Paso 3 - Agrega los archivos
Copie los archivos que creó en sus respectivas carpetas. Los archivos de idioma son opcionales, pero también deben editarse y renombrarse y lo mismo con las dos imágenes de vista previa.
Paso 4 - Carpetas vacías
Mi ejemplo incluye un archivo index.html vacío en cada carpeta. Esto es necesario porque Joomla no creará una carpeta vacía durante la instalación y aunque es posible que no necesite esas carpetas ahora, me lo agradecerá más tarde.
Paso 5: cierra la cremallera
Ahora simplemente cree un archivo zip de todo y pruebe que no hay errores y que se instalará en su sitio de prueba.
Paso 6 - Instalar en un sitio nuevo
Todo listo. Ahora puede instalar de forma segura en cualquier sitio nuevo
Paso 7 - Paso final requerido
Pregúntese por qué nunca pensó en esto antes y apresúrese a crear una plantilla secundaria instalable de todas sus sobrescrituras favoritas y compártalas con el mundo.
Descargar
- Zip File
- Github Bonus
Además de la plantilla secundaria en blanco de ejemplo, también comparto algunas de mis propias plantillas secundarias instalables. Pueden servirle de ejemplo, ya que cada uno utiliza características y funcionalidades diferentes.
-
Programación
- Profesor de informática del MIT prueba el impacto de la IA en la formación de programadores
- Lanzamiento del IDE de código abierto Qt Creator 14 con soporte para complementos basados en Lua
- Plantillas para Joomla - Episodio 1: Plantillas, marcos y clubes o no...
- Este es el mejor libro que he visto para aprender a programar en Python en castellano desde cero, gratis y online
- ¿Deberían los niños seguir aprendiendo a programar en la era de la IA?
- La 'obsolescencia' de VBScript confirmada por Microsoft y su eventual eliminación de Windows
- El Gran Debate: ¿Deberían los Modelos de Inteligencia Artificial Ser de Código Abierto?
- El lenguaje de programación BASIC cumple 60 años
- El CEO de Nvidia dice que los niños no deberían aprender a programar
- 40 años de Turbo Pascal: recuerdos del dinosaurio codificador que revolucionó los IDE
- Los lenguajes de programación más populares y dónde aprenderlos.
- Top 5 de los principales lenguajes de programación para desarrollar aplicaciones de escritorio Linux
- Qt Creator 12 lanzado con complementos de grabación de pantalla y Explorador de compiladores
- 10 sitios web para practicar problemas de programación
- Rust en Linux: madurando con el soporte de Cisco, Samsung y Canonical