Gibt es irgendwo eine gute Beschreibung der Drupal-Verzeichnisstruktur?

Antworten:

24

Ich habe noch keinen gesehen, also fangen wir gleich hier mit einer Liste an. In Drupal 5, 6 und 7 sieht die Struktur folgendermaßen aus:

  • Includes - Include-Dateien mit PHP-Funktionen und -Klassen, aus denen sich die Drupal-API zusammensetzt
  • Verschiedenes - Verschiedenes wie Javascript-Dateien und Bilder
  • Module - Drupal-Kernmodule (nicht für Contrib- und benutzerdefinierte Module gedacht)
  • profile - Installationsprofile
  • Skripte - Shell-Skripte für Entwickler und Administratoren
  • sites - alle Dateien, die von einem Entwickler hinzugefügt wurden, um eine Site zu erstellen

    • sites / all / libraries - Bibliotheken von Drittanbietern, z. ein Wysiwyg-Editor
    • sites / all / modules - beigetragene und benutzerdefinierte Module
    • sites / all / themes - beigetragene und benutzerdefinierte (Unter-) Themen
    • sites / default - enthält die default settings.php
    • sites / default / files - Das Standardverzeichnis für vom Benutzer hochgeladene Dateien
    • sites / example.com / modules - Das standortspezifische Modulverzeichnis in einer Struktur mit mehreren Standorten
    • sites / example.com / themes - Das standortspezifische Themenverzeichnis in einer Struktur mit mehreren Standorten
    • sites / example.com / files - Das standortspezifische Verzeichnis für vom Benutzer hochgeladene Dateien in einer Struktur mit mehreren Standorten
  • Themen - Drupal-Kernthemen
marcvangend
quelle
7

Meine erste Antwort galt für Drupal 7 und darunter. Inzwischen wurde für Drupal 8 und höher eine große Änderung vorgenommen. Die meisten Kerndateien befinden sich jetzt in einem "Kern" -Ordner. Weitere Informationen hierzu finden Sie in diesem Blog-Beitrag oder in der Originalausgabe auf drupal.org .

Die neue Struktur sieht folgendermaßen aus:

  • core - enthält alle Dateien und Ordner, aus denen der Drupal-Core besteht (dh den Teil, den Sie nicht hacken sollten )
    • core / includes - Include-Dateien mit PHP-Funktionen und Klassen, aus denen die Drupal-API besteht
    • core / misc - verschiedene Assets wie Javascript-Dateien und Bilder
    • Core / Module - Drupal-Core-Module (nicht für Contrib- und benutzerdefinierte Module gedacht)
    • core / scripts - Shell-Skripte für Entwickler und Administratoren
    • core / themes - Drupal-Kernthemen
  • profile - Installationsprofile
  • sites - alle Dateien, die von einem Entwickler hinzugefügt wurden, um eine Site zu erstellen

    • sites / all / libraries - Bibliotheken von Drittanbietern, z. ein Wysiwyg-Editor
    • sites / all / modules - beigetragene und benutzerdefinierte Module
    • sites / all / themes - beigetragene und benutzerdefinierte (Unter-) Themen
    • sites / default - enthält die default settings.php
    • sites / default / files - Das Standardverzeichnis für vom Benutzer hochgeladene Dateien
marcvangend
quelle
3
Diese Antwort ist derzeit noch nicht vollständig, da Drupal 8 Fortschritte gemacht hat und jetzt Verzeichnisse wie / code / vendor und die überarbeiteten / modules und / themes enthält. Wenn jemand einen guten Überblick über den aktuellen Status von Drupal 8 hat, kann er die Antwort gerne aktualisieren.
Marcvangend
Der Tropfen bewegt sich immer !
Geerlingguy
2

Die akzeptierte Antwort ist gut. Dies sind nur meine zwei Cent, um andere Antworten als Site-Entwickler auf Drupal 7 zu erweitern. Es ist einfacher zu navigieren, wenn Sie viele benutzerdefinierte Module, wenige Funktionen und übergeordnete / benutzerdefinierte Unterthemen aktualisieren.

  • sites / all
    • / modules
      • / contrib
      • /Benutzerdefiniert
      • /Eigenschaften
    • / Bibliotheken
    • / themes
  • sites / example.com
    • Entspricht sites / all / * mit den spezifischen Anforderungen der Site-Instanz, falls erforderlich
user20301
quelle
Ich möchte genau dasselbe auf Drupal 7, das Sie in Ihrer Antwort erwähnt haben, aber ich frage mich, wie ich neues Modul im sites/all/modules/customVerzeichnis installieren kann . Bitte helfen Sie dabei.
Bhavik Shah
Ich habe wirklich nicht versucht, Module in einem benutzerdefinierten Verzeichnis mit Drupal UI (FTP) zu platzieren. Ich habe sie einfach dort direkt ftp / ssh oder ordne sie im makefile zu. Als Randnotiz ist die Installation und Bereitstellung von Modulen unterschiedlich, da letztere Systemmodifikationen implizieren.
user20301