Guía para crear tu propio tema en Drupal

Aprende a crear un tema en Drupal desde cero, definiendo su estructura, estilos y configuración avanzada para personalizar la apariencia del sitio.
Índice para guía de creación de un tema personalizado en Drupal, con iconos de Drupal, archivos YAML, y estructura de temas.

Índice

  1. 1. Crear la estructura básica del tema
    1. 1.1 Crear el directorio del tema
    2. 1.2 Crear el archivo
      Text
      info.yml

    3. 1.3 Crear los archivos del tema
  2. 2. Agregar estilos y scripts
    1. 2.1 Crear Archivos CSS y JS
    2. 2.2 Registrar Estilos y Scripts
    3. 2.3 Crear y Editar
      Text
      style.css

  3. 3. Activar y configurar tu tema
    1. 3.1 Activar el tema
    2. 3.2 Configurar regiones y bloques
  4. 4. Personalización avanzada

 

Introducción

Drupal es un sistema de gestión de contenido (CMS) poderoso y flexible. Una de las características más destacadas de Drupal es su capacidad para personalizar la apariencia de un sitio web mediante la creación de temas. Un tema en Drupal controla el aspecto visual de un sitio, incluyendo el diseño, los colores, las fuentes y la disposición de los contenidos.

Esta guía te llevará a través de los pasos necesarios para crear tu propio tema en Drupal.

 

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Una instalación funcional de Drupal 9 o superior.
  • Conocimientos básicos de HTML, CSS y PHP.
  • Acceso al sistema de archivos de tu servidor.

 

1. Crear la estructura básica del tema

 

1.1 Crear el Directorio del Tema

El primer paso es crear un directorio para tu tema dentro de la carpeta

Text
themes

en la raíz de tu instalación de Drupal. Puedes hacerlo en la carpeta

Text
themes/custom

para mantenerlo organizado.


Text
cd path/to/drupal/themes/custom
mkdir mi_tema
cd mi_tema

 

1.2 Crear el archivo

Text
info.yml

Dentro de tu nuevo directorio de tema, crea un archivo llamado

Text
mi_tema.info.yml

. Este archivo es crucial, ya que Drupal lo utiliza para reconocer y configurar tu tema. En el archivo

Text
mi_tema.info.yml

, debemos añadir la configuración de nuestro tema. Hay campos obligatorios y otros opcionales que se utilizan más adelante en el desarrollo del tema.

  • Text
    name

    (obligatorio): El nombre legible para humanos. Aparecerá en la página «Apariencia» donde se activa el tema.

  • Text
    type

    (obligatorio): Indica el tipo de extensión, es decir, «módulo», «tema» o «perfil». En el caso de los temas, este valor siempre debe configurarse como «tema». Este valor distingue entre mayúsculas y minúsculas.

  • Text
    base theme

    (obligatorio en Drupal 9 y últimas versiones, opcional para Drupal 8): Un tema puede heredar los recursos de otro tema si lo especifica como tema base. Se recomienda utilizar

    Text
    stable9

    . Si se configura como

    Text
    false

    , no se utilizará ningún tema base.

  • Text
    core_version_requirement

    (obligatorio en Drupal 9 y últimas versiones, opcional para Drupal 8): Permite que los módulos, temas y perfiles especifiquen que son compatibles con múltiples versiones principales del núcleo de Drupal.

  • Text
    core

    (obligatorio para Drupal 8, opcional si incluye

    Text
    core_version_requirement

    , no válido para Drupal 9 y posteriores).

  • Text
    description

    (opcional): La descripción, que se muestra en la página «Apariencia».

  • Text
    regions

    (opcional): Una lista de regiones temáticas (las claves de región no están precedidas por un guion).

  • Text
    libraries

    (opcional): Una lista de bibliotecas (que pueden contener recursos CSS y JavaScript) para agregar a todas las páginas donde el tema está activo.


Text
name: 'Mi Tema'
type: theme
description: 'Un tema personalizado para mi sitio web'
core_version_requirement: ^9 || ^10
package: custom
base theme: olivero
regions:
  header: Header
  primary_menu: Primary menu
  secondary_menu: Secondary menu
  highlighted: Highlighted
  breadcrumb: Breadcrumb
  social: Social Bar
  content_above: Content Above
  content: Content
  footer_top: Footer top
  footer_bottom: Footer Bottom
libraries:
  - 'mi_tema/global-styling'
  - 'mi_tema/global-scripts'

 

1.3 Crear los archivos del tema

El siguiente paso es crear algunos archivos básicos que forman la estructura de tu tema:

  • Text
    mi_tema.libraries.yml

    : para declarar los archivos CSS y JS que utilizará tu tema.

    
    
    Text
    global-styling:
      version: 1.x
      css:
        theme:
          css/style.css: {}

 

2. Agregar estilos y scripts

 

2.1 Crear Archivos CSS y JS

Dentro del directorio del tema, crea un directorio llamado

Text
css

y un archivo llamado

Text
style.css

.


Text
mkdir css
touch css/style.css

En este archivo, puedes comenzar a agregar tus estilos personalizados. También puedes crear un directorio llamado

Text
js

para tus scripts JavaScript.

 

2.2 Registrar estilos y scripts

Asegúrate de que tus archivos CSS y JS se carguen en tu tema, añadiendo las siguientes líneas en el archivo

Text
mi_tema.libraries.yml

.


Text
global-styling:
  version: 1.x
  css:
    theme:
      css/style.css: {}
global-scripts:
  version: 1.x
  js:
    js/script.js: {}
  dependencies:
    - core/jquery

Y luego, asegúrate de agregar esta biblioteca en

Text
mi_tema.info.yml

.

 

3. Activar y configurar tu tema

 

3.1 Activar el tema

Una vez que hayas configurado tu tema, actívalo desde la interfaz de administración de Drupal:

  1. Ve a Apariencia en el menú de administración.
  2. Busca tu tema bajo la categoría Custom.
  3. Haz clic en Instalar y establecer como predeterminado.
Pantalla de temas desinstalados en Drupal, mostrando las opciones para instalar y seleccionar 'Mi Tema' y 'Stark'.
Temas desinstalados en Drupal, incluyendo ‘Mi Tema’, un tema personalizado, y ‘Stark’, un tema plano sin estilos para personalizar desde cero.
Pantalla de administración de temas instalados en Drupal con opciones de configuración y establecer como predeterminado.
La imagen muestra la interfaz de administración de Drupal donde se gestionan los temas instalados. El tema ‘Olivero’ está actualmente configurado como predeterminado, mientras que ‘Mi Tema’ es una opción personalizada que permite ser establecido como predeterminado. Se observan botones para configurar o desinstalar los temas y una lista que muestra la disponibilidad de temas en la administración del sitio.

 

3.2 Configurar regiones y bloques

Después de activar el tema, ve a la sección Estructura > Bloques en la administración para asignar bloques a las regiones que definiste en

Text
mi_tema.info.yml

. En esta sección, podrás asignar bloques específicos a cada región según tus necesidades.

Interfaz de diseño de bloques en Drupal mostrando la configuración y asignación de regiones para los diferentes bloques de contenido.
Pantalla de diseño de bloques en Drupal donde se configuran y asignan los bloques a diferentes regiones dentro de un tema.

 

4. Personalización avanzada

Puedes profundizar aún más personalizando los elementos de Drupal mediante la modificación o adición de más archivos Twig, funciones PHP y mediante el uso de módulos contribuidos o personalizados.

Esta es una guía básica para empezar. Dependiendo de tus necesidades, podrías necesitar explorar temas más avanzados, como la creación de subtemas, la integración de Bootstrap u otros frameworks, o la implementación de funcionalidades específicas mediante módulos personalizados.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Darlene Arely Velasquez es programadora en 3ASIDE Consultors con experiencia de más de cinco años, con un enfoque en el desarrollo web. Anteriormente, trabajó como programadora junior en FHIOS Smart Knowledge y realizó prácticas en Daleph. Estudió Web/Multimedia Management y Webmaster en el Centre d'Estudis Politécnics. Además, domina el español y tiene conocimientos básicos de inglés y catalán.

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

02/03/2026

José Antonio Sánchez Segovia

Zephyr es un RTOS open source respaldado por la Linux Foundation que permite desarrollar dispositivos embebidos conectados, eficientes y escalables, facilitando el paso de prototipo a producto final con una arquitectura mantenible.

23/02/2026

Enrique Casado Díez

LoRa y LoRaWAN son tecnologías clave en el ecosistema IoT cuando se requiere largo alcance y bajo consumo energético. En este artículo analizamos su funcionamiento, Spreading Factor, link budget, arquitectura de red, frecuencias y clases de dispositivos, con un caso práctico real.

19/02/2026

Juan José Díaz Antuña

Copilot Chat es la forma más sencilla y segura de empezar a usar IA en Microsoft 365. En este artículo vemos cómo funciona, cómo activarlo y en qué se diferencia de Microsoft 365 Copilot, Copilot Studio y los Agentes Inteligentes, con ejemplos prácticos y una comparativa clara.