C'è da qualche parte un buon resoconto sulla struttura delle directory di Drupal?


Risposte:


24

Non ne ho visto uno, quindi iniziamo un elenco proprio qui. In Drupal 5, 6 e 7 la struttura è simile alla seguente:

  • include: include file con funzioni e classi php che compongono l'API Drupal
  • misc - risorse varie come file e immagini javascript
  • moduli - Moduli core Drupal (non intesi per moduli contrib e moduli personalizzati)
  • profili: profili di installazione
  • script - script di shell per sviluppatori e amministratori
  • siti: tutti i file aggiunti da uno sviluppatore per creare un sito

    • siti / tutte / librerie - librerie di terze parti, ad es. un editor wysiwyg
    • siti / tutti / moduli: moduli forniti e personalizzati
    • siti / tutti / temi - temi (sub) personalizzati e personalizzati
    • siti / predefinito: contiene il file settings.php predefinito
    • sites / default / files - la directory predefinita per i file caricati dall'utente
    • sites / example.com / modules - la directory dei moduli specifici del sito in una struttura multisito
    • sites / example.com / themes - la directory dei temi specifici del sito in una struttura multisito
    • sites / example.com / files: la directory specifica del sito per i file caricati dall'utente in una struttura multisito
  • temi - temi principali di Drupal

7

La mia prima risposta era vera per Drupal 7 e precedenti. Nel frattempo, per Drupal 8 e versioni successive sono stati apportati grandi cambiamenti. La maggior parte dei file core ora vive in una cartella "core". Puoi leggere di più a riguardo in questo post del blog o nel numero originale su drupal.org .

La nuova struttura si presenta così:

  • core - contiene tutti i file e le cartelle che compongono il core di Drupal (cioè la parte che non dovresti hackerare )
    • core / include: include file con funzioni e classi php che compongono l'API Drupal
    • core / misc - risorse varie come file e immagini javascript
    • core / modules - Moduli core Drupal (non intesi per contrib e moduli personalizzati)
    • core / script - script di shell per sviluppatori e amministratori
    • core / themes - Temi core di Drupal
  • profili: profili di installazione
  • siti: tutti i file aggiunti da uno sviluppatore per creare un sito

    • siti / tutte / librerie - librerie di terze parti, ad es. un editor wysiwyg
    • siti / tutti / moduli: moduli forniti e personalizzati
    • siti / tutti / temi - temi (sub) personalizzati e personalizzati
    • siti / predefinito: contiene il file settings.php predefinito
    • sites / default / files - la directory predefinita per i file caricati dall'utente

3
Questa risposta non è completa al momento, perché Drupal 8 è progredito e ora contiene directory come / code / vendor e ri-propositi / moduli e / temi. Se qualcuno ha una buona panoramica dello stato attuale di Drupal 8, non esitare ad aggiornare la risposta.
marcvangend,


2

La risposta accettata è buona. Questi sono solo i miei due centesimi per espandere altre risposte, come sviluppatore di siti su Drupal 7. È più facile navigare durante l'aggiornamento di molti moduli personalizzati, poche funzionalità e sottotemi genitore / personalizzati.

  • sites / all
    • / moduli
      • / contrib
      • / custom
      • /Caratteristiche
    • / librerie
    • / temi
  • siti / example.com
    • uguale a siti / tutti / * con esigenze specifiche dell'istanza del sito, ove appropriato

Voglio esattamente la stessa cosa su Drupal 7 che hai menzionato nella tua risposta, ma mi chiedo come posso installare il nuovo modulo nella sites/all/modules/customdirectory. Per favore aiutatemi su questo.
Bhavik Shah,

Non ho davvero provato a posizionare i moduli nella directory personalizzata con drupal ui (ftp). Li ho semplicemente ftp / ssh lì direttamente o assegnarli in makefile. Come installazione di sidenote e rendere disponibile il modulo sono cose diverse poiché quest'ultima implica modifiche del sistema.
user20301
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.