Guía práctica para crear un subtema en Drupal 10 paso a paso

Por Nacho Morato, 22 Mayo, 2025

Crear un subtema en Drupal 10 es una de las tareas más poderosas y flexibles para adaptar el diseño y comportamiento visual de tu sitio web a tus necesidades concretas. Es un proceso al que muchos desarrolladores se enfrentan tarde o temprano, ya sea para modificar sutilmente una apariencia existente o para construir una marca completamente personalizada sobre una base bien probada. Entender cómo funcionan los subtemas en Drupal puede ahorrarte mucho tiempo y evitar posibles quebraderos de cabeza cuando llegue la hora de actualizar o cambiar aspectos visuales del sitio.

En este artículo aprenderás, paso a paso y de forma detallada, cómo crear tu propio subtema en Drupal 10 desde cero, aprovechando todo el potencial de los temas base y adaptando cada detalle a tus necesidades. También veremos trucos habituales, errores comunes y recursos útiles que han compartido tanto la comunidad oficial como expertos independientes, para que consigas un resultado profesional y preparado para futuras actualizaciones.

¿Qué es un subtheme en Drupal y por qué deberías usarlo?

Un subtema (o subtheme) es un tema hijo que hereda funcionalidades y estilos de un tema padre. Esta arquitectura permite construir sitios web personalizados manteniendo intactos los archivos y configuraciones del tema principal, facilitando las actualizaciones y el mantenimiento a largo plazo. Usar subtemas es la forma recomendada en Drupal para modificar el diseño visual sin tocar el tema base y así evitar complicaciones en futuros upgrades.

La mayoría de los temas populares como Bartik, Claro, Barrio o Bootstrap están preparados para ser usados como base para subtemas. Si necesitas hacer cambios sobre el aspecto visual, añadir scripts, cambiar plantillas o sobreescribir estilos, crear un subtema es la vía adecuada.

Elegir el tema base adecuado

El primer paso para crear tu subtheme es escoger el tema padre que servirá de fundamento. Drupal viene con temas por defecto como Bartik o Claro, pero puedes optar por otros más avanzados como Bootstrap, Barrio o Radix, especialmente si quieres integrar frameworks de diseño modernos como Bootstrap 4/5 o tener un punto de partida con más opciones de personalización.

  • Bartik: clásico tema por defecto, fácil para pruebas.
  • Claro: ideal para administradores y paneles de control modernos.
  • Bootstrap/Barrio/Radix: perfectos si necesitas diseños responsivos y componentes de Bootstrap.

La elección del tema base determinará en gran medida qué archivos, estructuras y clases CSS tendrás disponibles para tu desarrollo.

Preparar la estructura de carpetas para tu subtema

Una vez decidido el tema padre, hay que crear la carpeta de tu subtema siguiendo la estructura recomendada por Drupal. Para mantener el orden, lo habitual es colocar los subtemas en '/themes/custom/nombre_subtema', donde 'nombre_subtema' será el nombre, en minúsculas y sin espacios, que desees para tu subtema.

Por ejemplo, si tu subtema se va a llamar "mitema" crea la ruta /themes/custom/mitema. Esta convención te ayuda a distinguir fácilmente entre temas descargados (contributed) y los que son personalizados.

Crear el archivo de configuración .info.yml

Este archivo es el corazón de cualquier tema o subtema en Drupal. El archivo 'mitema.info.yml' (reemplaza 'mitema' por el nombre de tu subtema) es obligatorio y define las propiedades principales, incluyendo el tema base.

Un ejemplo básico de archivo de configuración sería:

name: 'Mi Subtema Personalizado'
type: theme
description: 'Subtema basado en Claro para Drupal 10.'
base theme: claro
core_version_requirement: ^9 || ^10
libraries:
  - mitema/global-styling

Asegúrate de ajustar cada detalle, especialmente el valor de 'base theme', que debe coincidir con el nombre del tema sobre el que construyes.

Definir las librerías de estilos y scripts

En tu subtema puedes incluir hojas de estilo CSS, archivos JavaScript o incluso fuentes personalizadas. Para ello necesitas definir un archivo 'mitema.libraries.yml' indicando los recursos que se cargarán, por ejemplo:

global-styling:
  css:
    theme:
      css/estilos.css: {}

Una vez definido, este archivo se referenciará dentro del archivo .info.yml bajo "libraries" como en el ejemplo anterior. Organiza tus archivos en carpetas como '/css', '/js' o '/images' según convenga.

Personalizar el subtema: Añadir CSS, JS y plantillas

Con la estructura básica lista, es el momento de añadir todos los elementos visuales y funcionales que requiera tu proyecto. Puedes crear una carpeta 'css' para tus hojas de estilo personalizadas, una carpeta 'js' para scripts y otra carpeta 'templates' para sobreescribir plantillas Twig del tema padre.

  • Guarda tus estilos en rutas del tipo '/themes/custom/mitema/css/estilos.css' y agrégales a la librería correspondiente.
  • Si necesitas modificar un archivo twig (como page.html.twig), copia el original del tema base en tu carpeta /templates y haz tus cambios ahí: Drupal dará preferencia a los archivos en tu subtema.
  • Para scripts JavaScript propios, procede de igual manera en la carpeta /js y añádelos a tu librería en el .libraries.yml.

Gracias a este sistema, puedes sobreescribir parcial o totalmente la apariencia de cualquier componente del sitio. Recuerda que los archivos JavaScript o CSS también pueden tener diferentes ámbitos de carga según los declares en el archivo de librerías.

Activar y establecer por defecto tu subtema

Una vez tengas toda la estructura de archivos preparada, toca habilitar el subtema desde la interfaz de administración de Drupal. Debes ir a Apariencia en el panel administrativo, buscar tu subtema y hacer clic en "Instalar y establecer como predeterminado". Si Drupal no detecta tu subtema, revisa especialmente los nombres de las carpetas y archivos, pues cualquier error tipográfico impedirá su reconocimiento.

Una vez activo, la apariencia de tu sitio se actualizará automáticamente usando las configuraciones y archivos de tu subtema. Los cambios sobre plantillas, estilos o scripts se verán reflejados a partir de este momento.

Vaciar la caché para ver los cambios

Drupal almacena en caché muchas configuraciones y archivos para agilizar la carga del sitio. Después de activar tu subtema o modificar archivos clave como CSS, JS o Twig, es muy recomendable vaciar toda la caché. Puedes hacerlo desde el panel de administración en Configuración > Desempeño, pulsando "Vaciar todas las cachés".

Este paso es fundamental, ya que a menudo los cambios no se ven reflejados hasta que la caché es limpiada. No dudes en repetir este proceso cada vez que realices ajustes en los archivos del subtema.

Trucos y recomendaciones de la comunidad

A lo largo de los años, la comunidad de Drupal ha ido recopilando consejos útiles que pueden facilitarte el trabajo con subtemas y evitarte sorpresas desagradables:

  • No modifiques nunca directamente un tema base. Usa siempre subtemas para tus personalizaciones.
  • Utiliza nombres únicos y descriptivos en la carpeta y archivos para evitar conflictos con otros temas.
  • Si tu subtema depende de módulos adicionales (por ejemplo, para integrar Bootstrap), decláralo en el .info.yml usando la clave dependencies:.
  • Comprueba la documentación oficial de cada tema base, ya que pueden ofrecer métodos específicos para crear subtemas (por ejemplo, usando scripts de Drush o generadores de plantillas).
  • En subtemas complejos, aprovecha la herramienta 'drush' para vaciar caché o regenerar archivos rápidamente desde la consola.

Subtemas sobre Bootstrap, Barrio y otros temas contribuidos

Algunos temas avanzados, como Bootstrap o Barrio, tienen instrucciones y utilidades propias para la creación de subtemas. Por ejemplo, Barrio ofrece una guía detallada para crear subtemas compatibles con Bootstrap 4 y 5 desde la interfaz o mediante scripts propios. En el caso de Bootstrap, es habitual clonar un subtema de ejemplo y modificarlo según tus necesidades, siempre revisando en la documentación oficial los pasos específicos.

Otros temas como Radix permiten comandos automáticos desde la consola para generar rápidamente un subtema estructurado. Lee siempre los README y guías específicas de cada tema contribuidor, ya que cada uno puede tener particularidades y recomendaciones muy concretas para crear subtemas de forma óptima y ordenada.

Errores habituales al crear un subtema

Entre los problemas más comunes se encuentran:

  • Errores de sintaxis en los archivos .yml (uso indebido de espacios o tabulaciones).
  • Nombres incoherentes o uso de mayúsculas y espacios en rutas.
  • Olvidar vaciar la caché tras modificar archivos importantes.
  • No respetar la jerarquía de plantillas, lo que provoca que las personalizaciones no se carguen.
  • Ignorar los avisos de dependencia de módulos requeridos por el tema base.

Si alguna vez tu subtema no aparece o no funciona, revisa punto por punto cada uno de estos aspectos y utiliza el registro de logs de Drupal para detectar el origen del problema.

Consejos para mantener y actualizar subtemas en Drupal

Lo mejor de usar subtemas es que puedes actualizar el tema base con total seguridad y seguir manteniendo tus personalizaciones intactas. Sin embargo, es recomendable seguir estas pautas:

  • Guarda siempre tus personalizaciones dentro de las carpetas de tu subtema, nunca en el tema base.
  • Mantén tus archivos organizados (css, js, templates, images).
  • Haz copia de seguridad antes de grandes cambios o actualizaciones del tema padre.
  • Revisa si tras actualizar el tema base, alguna plantilla o función personalizada necesita adaptaciones.

Así mantendrás la sostenibilidad y escalabilidad de tu sitio Drupal a largo plazo.

Recursos adicionales y soporte

La documentación oficial de Drupal proporciona guías actualizadas y detalladas para crear subtemas en diferentes escenarios. También existen tutoriales en vídeo y artículos de desarrolladores independientes (como los mencionados en "Drupaladicto") que complementan la información técnica con ejemplos prácticos, especialmente útiles para visualizar el proceso completo.

Si en algún momento te encuentras bloqueado o necesitas soporte avanzado, considera recurrir a los canales oficiales de la comunidad Drupal o a profesionales experimentados. Hay foros, grupos de Telegram, y servicios personalizados que pueden ayudarte a solventar cualquier contratiempo que surja en tu camino.

Dominar la creación de subtemas en Drupal 10 te abre la puerta a diseñar sitios web mucho más flexibles y profesionales. Siguiendo una metodología ordenada y prestando atención a los detalles de cada archivo de configuración, es posible construir experiencias visuales únicas sin comprometer la capacidad de actualización o el rendimiento general del sitio. Aplicando los consejos y observando las buenas prácticas de la comunidad, lograrás que tu subtema combine funcionalidad y personalización a partes iguales.

Etiquetas

Comentarios