Come creare un tema Drupal 9 personalizzato in 9 semplici passaggi

Pubblicato: 2021-11-15

Drupal 9 offre agli sviluppatori e ai proprietari di siti la flessibilità di creare componenti su misura che possono essere assemblati per creare esperienze digitali avvincenti. I temi sono blocchi di design di Drupal che rappresentano l'aspetto visivo di un sito web. Drupal 9 viene fornito con una scelta di temi principali e temi di terze parti, il più popolare è il tema Bootstrap. Tuttavia, se nessuno dei temi Drupal 9 lo taglia per te, probabilmente dovresti guardare allo sviluppo di temi personalizzati. Con i temi personalizzati di Drupal 9, puoi adattare il tuo design ai requisiti esatti.

Drupal 9 fornisce Bartik come tema frontend per Drupal, ma se hai bisogno di un tema personalizzato Drupal 9, puoi creare il tuo sviluppo del tema Drupal 9, migliorando così le tue abilità di temi Drupal. Il modo più semplice per comprendere veramente lo sviluppo del tema di Drupal 9 è esercitarsi e crearne uno da zero.

Drupal 8 ha ora raggiunto EOL. Ora è il momento di migrare a Drupal 9. Tuttavia, se stai ancora provando a creare un tema personalizzato in Drupal 8, questi passaggi funzioneranno anche per una configurazione di Drupal 8.

Tema Drupal personalizzato

Iniziare con lo sviluppo del tema personalizzato Drupal 9

Iniziamo con la creazione di un tema Drupal 9 per il nostro sito Web Drupal.
PASSO 1: Innanzitutto, dobbiamo creare un tema personalizzato nella cartella "web/themes/custom" . Chiameremo la cartella come custom_theme .

Crea una cartella Tema Drupal 8 personalizzata

Temi Drupal: crea una cartella Tema Drupal 9 personalizzata

FASE 2: Successivamente, avremo bisogno di creare un file info.yml . Dobbiamo specificare le chiavi di base per esso. Specifichiamolo qui -

Drupal Theming: crea un file info.yml
Drupal Theming: crea un file info.yml
 CODICE:
nome : tema personalizzato
tipo : tema
description : 'Tema personalizzato per il mio sito web.'
pacchetto : Altro
core_version_requirement : ^8 || ^9

PASSO 3 : Ora creiamo un file library.yml per specificare tutte le librerie di cui abbiamo bisogno (CSS E JS) per il nostro tema Drupal 9 personalizzato. Creeremo anche la directory CSS e JS e i suoi file per collegarla qui. Chiameremo la libreria come global-styling .

Drupal Theming: crea un file library.yml
Drupal Theming: crea un file library.yml
 CODICE:
stile globale :
versione : 1.x
js :
js/script.js : {}
css :
tema :
css/style.css : {}

PASSO 4: Dopo aver creato il file library.yml , dobbiamo collegarlo al nostro tema. Per questo, lo aggiungeremo nel file info.yml che poi lo applicherà all'intero tema.

Collegamento di library.yml con il tema personalizzato di Drupal 9
Collegamento di library.yml con il tema personalizzato di Drupal 9
 CODICE:
biblioteche :
- tema_personalizzato/stile-globale

Quindi, la chiave sarà le librerie e il percorso sarà il nome del tema - ' custom_theme ' / nome libreria - 'global-styling' .

FASE 5 : Successivamente, dobbiamo ereditare il 'Tema di base'. Nel nostro caso, erediteremo il tema ' classe ' che è un tema centrale di Drupal. Quindi, la chiave sarà il tema di base in info.ym l.

Ereditare il tema Base - classy
Ereditare il tema Base - classy
 CODICE:
tema di base : di classe

PASSO 6 : Ora definiremo le 'regioni' per il nostro tema. In info.yml , dobbiamo definirlo sotto la chiave 'regioni'.

Definizione delle regioni
Definizione di "regioni"
 CODICE:
regioni :
marchio : marchio
navigazione : Navigazione principale
cerca : Cerca
in primo piano: in primo piano
contenuto : contenuto
right_sidebar : barra laterale destra
footer_first : prima il piè di pagina
footer_second : secondo piè di pagina
piè di pagina_terzo : piè di pagina terzo
footer_bottom : piè di pagina in basso

Sotto la chiave "regioni", puoi definire le tue regioni per il tema Drupal personalizzato. Qui,
branding: è l'id della regione che dovrebbe essere in lettere minuscole.
Branding: è il nome della regione che può essere composto da lettere maiuscole.

PASSO 7: Dopo aver definito le nostre regioni per il nostro tema Drupal personalizzato, dobbiamo sovrascrivere page.html.twig per prendere le nostre "regioni" invece del tema classico. Creeremo templates/system directory in cui creeremo il page.html.twig .

Sovrascrivi page.html.twig

Sovrascrivi page.html.twig
 CODICE:
< header aria-label ="Site header" class ="header" id ="header" role ="banner" >
{{ page.branding }}
{{ pagina.navigazione }}
{{ pagina.ricerca }}
</ intestazione >
< section class ="in primo piano" id ="in primo piano " ruolo ="complementare" >
{{ pagina.in primo piano }}
</ sezione >
< sezione class ="principale" id ="principale" >
< main aria-label ="Contenuto principale del sito" class ="content" id ="content" role ="main" >
{{ pagina.contenuto }}
</ principale >
< side class ="right--sidebar" id ="sidebar" role ="complementary" >
{{ page.right_sidebar }}
</ a parte >
</ sezione >
< 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 >
</ piè di pagina >

In page.html.twig, creeremo la struttura HTML per le nostre regioni. Come vedi in {{ page.branding }} – Qui,

pagina - È la chiave per rendere 'regioni' nella pagina

branding- È la regione che abbiamo definito nel file info.yml .

Quindi ora abbiamo creato le nostre regioni e le abbiamo rese nella pagina.

Passaggio 8: vai su Aspetto nel tuo sito Drupal. Puoi vedere il tuo tema Drupal personalizzato presente nella sezione Temi disinstallati .

Sezione temi disinstallati

Temi Drupal : sezione temi disinstallati

È necessario fare clic sull'opzione " Installa e imposta come predefinita " per installare il tema Drupal sul sito.

Dopo l'installazione, vai su Struttura -> Layout blocco . Il tuo tema personalizzato apparirà sotto il layout del blocco.

tema personalizzato drupal
​​​​​​

Vedrai un collegamento per " Dimostra regioni a blocchi (tema personalizzato) ".Fai clic sul collegamento. Puoi vedere tutte le regioni che hai dichiarato in info.yml e aggiunto in page.html.twig

Regioni aggiunte in info.yml e page.html.twig

Regioni aggiunte in info.yml e page.html.twig

Passaggio 9: ora hai quasi finito con i temi in Drupal 9! Successivamente, devi applicare gli stili nel CSS per ogni regione secondo il tuo progetto. Useremo i CSS in questo caso; Puoi anche usare SCSS se lo desideri. Ispeziona semplicemente la regione del marchio: dovresti vedere la classe della regione e quindi aggiungere il CSS a quella classe.

Aggiungi CSS in style.css secondo le tue esigenze.

 . intestazione {
 display : flessibile ;
 giustificare-contenuto : spazio-tra ;
 imbottitura : 10 px ;
}

. intestazione . regione { imbottitura : 5 px ; }

. intestazione . marchio regionale { flessione : 0 1 20 %; }

. intestazione . regione-navigazione { flessione : 0 1 50 %; }

. intestazione . regione-ricerca { flessibilità : 0 1 30 %; }

. regione . regione di blocco { imbottitura : 15 px ; }

. in primo piano { imbottitura : 40 px 20 px ; colore di sfondo : rosso indiano ; }

. principale { riempimento : 50 px 0 ; display : flessibile ; giustificare-contenuto : spazio-tra ; }

. principale . contenuto { flessibilità : 0 1 65 %; }

. principale . barra laterale destra { flessibilità : 0 1 30 %; }

. piè di pagina--top { display : flessibile ; giustificare-contenuto : spazio-tra ; imbottitura : 10 px ; }

. piè di pagina: in alto . regione { imbottitura : 5 px ; }

. regione-piè di pagina-prima , . regione-piè di pagina-secondo , . regione-piè di pagina-terzo { flessibilità : 0 1 30 %; }

Il risultato:

Il tuo tema personalizzato Drupal 9 è pronto!

tema personalizzato drupal

Se hai bisogno di scrivere hook o creare suggerimenti per il tuo file ramoscello, puoi aggiungere il file .theme nel tuo tema Drupal personalizzato (mostrato sotto).

Aggiunta del file .theme

Aggiunta del file .theme