Includi la configurazione predefinita nel tuo modulo Drupal 8
Tema principale: configurazione predefinita
Panoramica
In Drupal 7 la configurazione predefinita per moduli come tipi di contenuto, configurazione dei campi, viste ecc. richiedeva codice PHP specifico per l’installazione e l’aggiornamento. In Drupal 8 queste configurazioni sono memorizzate, insieme al sistema di configurazione, in file di testo YAML.
Ad esempio, il sistema di gestione della configurazione si occupa della creazione e gestione dei tipi di contenuto. Puoi fornire un tipo di contenuto insieme al tuo modulo creando un file di configurazione con il nome e la struttura appropriati.
Esempio
Crea un file chiamato node.type.example_mytype.yml
e posizionalo nella cartella del tuo modulo, nel sottodirectory config/install
. Ad esempio, questo file può trovarsi in /modules/example/config/install/node.type.example_mytype.yml
, se il modulo si trova in /modules/example
.
Rispetta la convenzione di denominazione, secondo la quale devi inserire il prefisso del tuo tipo di contenuto davanti al nome del modulo, seguito da un trattino basso, per evitare conflitti con altri file di configurazione.
Poi puoi inserire il seguente codice in questo file:
type: example_mytype name: Example description: 'Usa il contenuto <em>example</em> per avvicinarti meglio allo sviluppo con Drupal 8.' help: '' new_revision: false display_submitted: true preview_mode: 1 status: true langcode: en
Vedi node.type.article.yml per un esempio reale.
Puoi includere configurazioni predefinite per altri elementi, come il posizionamento dei blocchi, viste, formati di testo, configurazione dell’editor, ruoli utente, ecc. nello stesso modo.
Puoi impostare valori predefiniti per campi del form, come l’autore del nodo.
Se hai installato il modulo prima di aggiungere questo tipo di contenuto, sarà necessario disinstallarlo e reinstallarlo affinché la configurazione abbia effetto.
Esportare la configurazione
Puoi creare questi file esportando la configurazione in Configurazione > Sviluppo > Sincronizzazione della configurazione. Puoi usare la funzione «Importazione/Esportazione singola» per esportare un singolo frammento di configurazione: in questo caso ti viene fornita un’area di testo contenente il codice da copiare/incollare in un file di configurazione. Oppure puoi effettuare un «Esportazione completa», che ti consentirà di scaricare un file tar.gz contenente tutti i file di configurazione in una sola cartella.
Quando utilizzi la configurazione esportata è importante rimuovere l’UUID dalla configurazione. Ogni frammento di configurazione è identificato in modo univoco da questo identificatore. Se includi questo UUID nel tuo modulo, l’identificatore sarà lo stesso per tutti i siti che usano il tuo modulo, quindi non sarà più unico. Se rimuovi semplicemente questa riga dalla configurazione, Drupal genererà nuovi UUID quando il modulo viene abilitato, garantendone l’unicità.
uuid: 626187e6-2176-4a73-8900-c0912580e4a1 < < Rimuovi questo! langcode: en status: true
Drupal Console
L’utility Drupal Console fornisce il seguente comando:
Questo comando eseguirà le seguenti operazioni:
- Esporterà tutti i file di configurazione associati al tipo di contenuto specificato (inclusi i suoi file di configurazione dei campi).
- Li posizionerà nella cartella di configurazione del modulo desiderato.
In questo modo si risparmia molto lavoro richiesto dal processo manuale descritto sopra.