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

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

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


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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.