Como criar um tema personalizado do Drupal 9 em 9 etapas simples

Publicados: 2021-11-15

O Drupal 9 oferece aos desenvolvedores e proprietários de sites a flexibilidade de criar componentes personalizados que podem ser colocados juntos para criar experiências digitais atraentes. Temas são blocos de design do Drupal que representam a aparência visual de um site. O Drupal 9 vem com opções de temas centrais e temas de terceiros, sendo o mais popular o tema Bootstrap. No entanto, se nenhum dos temas do Drupal 9 servir para você, provavelmente você deve olhar para o desenvolvimento de temas customizados. Com os temas personalizados do Drupal 9, você pode ajustar seu design aos requisitos exatos.

O Drupal 9 fornece Bartik como o tema de front-end para o Drupal, mas se você precisa de um tema personalizado do Drupal 9, pode criar seu próprio desenvolvimento de tema do Drupal 9, melhorando assim suas habilidades com o tema do Drupal. A maneira mais fácil de realmente entender o desenvolvimento do tema Drupal 9 é praticar e criar um desde o início.

O Drupal 8 agora atingiu o EOL. Agora é a hora de migrar para o Drupal 9. No entanto, se você ainda está tentando criar um tema personalizado no Drupal 8, essas etapas funcionarão para uma configuração do Drupal 8 também.

Tema Drupal personalizado

Introdução ao desenvolvimento de temas personalizados do Drupal 9

Vamos começar criando um tema Drupal 9 para nosso site Drupal.
PASSO 1: Primeiro, precisamos criar um tema personalizado na pasta 'web / themes / custom' . Vamos nomear a pasta como custom_theme .

Crie uma pasta de temas personalizados do Drupal 8

Temas do Drupal: Crie uma pasta de temas personalizados do Drupal 9

PASSO 2: Em seguida, precisaremos criar um arquivo info.yml . Precisamos especificar as chaves básicas para isso. Vamos especificá-lo aqui -

Temas do Drupal: Crie um arquivo info.yml
Temas do Drupal: Crie um arquivo info.yml
 CÓDIGO:
nome : Tema personalizado
tipo : tema
descrição : 'Tema personalizado para meu site'.
pacote : Outro
core_version_requirement : ^ 8 || ^ 9

PASSO 3 : Agora, vamos criar um arquivo libraries.yml para especificar todas as bibliotecas que precisamos (CSS E JS) para nosso tema Drupal 9 customizado. Também criaremos os diretórios CSS e JS e seus arquivos para vinculá-los aqui. Vamos nomear a biblioteca como de estilo global .

Temas do Drupal: Crie um arquivo libraries.yml
Temas do Drupal: Crie um arquivo libraries.yml
 CÓDIGO:
estilo global :
versão : 1.x
js :
js / script.js : {}
css :
tema :
css / style.css : {}

PASSO 4: Depois de criar o arquivo libraries.yml , precisamos vinculá-lo ao nosso tema. Para isso, vamos adicioná-lo ao arquivo info.yml que então o aplicará a todo o tema.

Vinculando o libraries.yml com o tema personalizado do Drupal 9
Vinculando o libraries.yml com o tema personalizado do Drupal 9
 CÓDIGO:
bibliotecas :
- custom_theme / global-styling

Portanto, a chave será as bibliotecas e o caminho será o nome do tema - ' custom_theme ' / nome da biblioteca - 'estilo global' .

PASSO 5: Em seguida, precisamos herdar o 'Tema Base'. Em nosso caso, herdaremos o tema ' elegante ', que é um tema central do Drupal. Portanto, a chave será o tema base em info.ym l.

Herdando o tema Base - elegante
Herdando o tema Base - elegante
 CÓDIGO:
tema básico : elegante

PASSO 6: Agora, vamos definir as 'regiões' para o nosso tema. Em info.yml , temos que defini-lo sob a chave 'regiões'.

Definindo regiões
Definindo 'regiões'
 CÓDIGO:
regiões :
branding : branding
navegação : navegação principal
pesquisa : Pesquisa
destaque : destaque
conteúdo : Conteúdo
right_sidebar : barra lateral direita
footer_first : rodapé primeiro
footer_second : rodapé em segundo
footer_third : rodapé terceiro
footer_bottom : rodapé inferior

Na chave 'regiões', você pode definir suas regiões para o tema personalizado do Drupal. Aqui,
branding: é o id da região, que deve estar em letras minúsculas.
Identidade visual: é o nome da região, que pode estar em letras maiúsculas.

PASSO 7: Depois de definir nossas regiões para nosso tema Drupal personalizado, precisamos substituir page.html.twig para pegar nossas 'regiões' em vez das do tema elegante. Criaremos templates / diretório de sistema sob o qual criaremos o page.html.twig .

Substitua o page.html.twig

Substitua o page.html.twig
 CÓDIGO:
< header aria-label = "Site header" class = "header" id = "header" role = "banner" >
{{page.branding}}
{{page.navigation}}
{{page.search}}
</ header >
< section class = "destaque" id = "destaque" role = "complementar" >
{{page.featured}}
</ seção >
< section class = "main" id = "main" >
< main aria-label = "Conteúdo principal do site" class = "content" id = "content" role = "main" >
{{ Conteúdo da página }}
</ main >
< aparte class = "right - sidebar" id = "sidebar" role = "complementar" >
{{page.right_sidebar}}
</ aparte >
</ seção >
< footer aria-label = "Site footer" class = "footer" id = "footer" role = "contentinfo" >
< div class = "footer - top" >
{{page.footer_first}}
{{page.footer_second}}
{{page.footer_third}}
</ div >
< div class = "footer - bottom" >
{{page.footer_bottom}}
</ div >
</ rodapé >

Em page.html.twig, criaremos a estrutura HTML para nossas regiões. Como você pode ver em {{page.branding}} - Aqui,

página - é a chave para renderizar 'regiões' na página

branding- É a região que definimos no arquivo info.yml .

Agora, criamos nossas regiões e as renderizamos na página.

Etapa 8: Vá para Aparência em seu site Drupal. Você pode ver seu tema Drupal personalizado presente na seção de temas desinstalados .

Seção de temas desinstalados

Temas do Drupal : seção de temas desinstalados

Você precisa clicar na opção ' Instalar e definir como padrão ' para instalar o seu tema Drupal no site.

Depois de instalado, vá para Structure -> Block Layout . Seu tema personalizado aparecerá sob o Layout do bloco.

tema personalizado drupal

Você verá um link para ' Demonstrar regiões de bloco (tema personalizado) '. Clique no link. Você pode ver todas as regiões que você declarou no info.yml e adicionou em page.html.twig

Regiões adicionadas em info.yml e page.html.twig

Regiões adicionadas em info.yml e page.html.twig

Etapa 9: Agora você está quase terminando os temas do Drupal 9! Em seguida, você precisa aplicar estilos no CSS para cada região de acordo com seu design. Usaremos CSS neste caso; Você pode até usar o SCSS se desejar. Basta inspecionar a região de marca - você deve ver a classe da região e adicionar o CSS a essa classe.

Adicione CSS em style.css de acordo com sua necessidade.

 . header {
 display : flex ;
 justify-content : espaço entre ;
 preenchimento : 10 px ;
}

. cabeçalho . região { preenchimento : 5 px ; }

. cabeçalho . region-branding { flex : 0 1 20 %; }

. cabeçalho . region-navigation { flex : 0 1 50 %; }

. cabeçalho . region-search { flex : 0 1 30 %; }

. região . block-region { preenchimento : 15 px ; }

. destaque { preenchimento : 40 px 20 px ; cor de fundo : vermelho - índio ; }

. main { preenchimento : 50 px 0 ; display : flex ; justify-content : espaço entre ; }

. principal . content { flex : 0 1 65 %; }

. principal . direita - barra lateral { flex : 0 1 30 %; }

. rodapé - topo { display : flex ; justify-content : espaço entre ; preenchimento : 10 px ; }

. rodapé - topo . região { preenchimento : 5 px ; }

. região-rodapé-primeiro ,. região-rodapé-segundo ,. região-rodapé-terceiro { flex : 0 1 30 %; }

O resultado:

Seu tema personalizado Drupal 9 está pronto!

tema personalizado drupal

Se você precisar escrever quaisquer ganchos ou criar sugestões para seu arquivo twig, poderá adicionar o arquivo .theme em seu tema Drupal personalizado (mostrado abaixo).

Adicionando o arquivo .theme

Adicionando o arquivo .theme