Was ist das grundlegendste gültige Modul, das man in Drupal erstellen kann?
Es wäre nützlich, eine einfache Blaupause zur Verfügung zu haben, für alle, die gerade erst mit Drupal anfangen.
Die folgenden Anweisungen ermöglichen das Erstellen eines leeren Moduls und sind hilfreich für alle, die gerade erst mit der Modulerstellung beginnen. Wenn Sie Probleme haben, Ihr erstes Modul zum Laufen zu bringen, oder sogar in Drupal auftauchen, stellen Sie sicher, dass Sie alle Anweisungen unten gelesen haben.
project
Zumindest ein Muss
module-machine-name.info.yml
mit den folgenden Attributen:
name:
Ein für Menschen lesbarer Nametype:
Ein Typ, der definiert, dass er ein module
.core:
In 8.x
diesem Fall ist das Modul mit der Hauptversion von Drupal Core kompatibel .module-machine-name.module
Drupal sucht an folgenden Stellen nach Modulen, wie vom Webstamm aus gesehen:
/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Technisch betrachtet sucht Drupal auch nach Modulen in core/modules
, aber man sollte niemals Module dort platzieren, daher ist es nicht in der obigen Liste.
Eine beispielhafte Modulstruktur für ein Modul mit dem Computernamen helloworld
sieht folgendermaßen aus:
/modules/helloworld/helloworld.info.yml
/modules/helloworld/helloworld.module
Beachten Sie, dass sowohl die Info- als auch die Moduldatei mit dem Namen des Computers identisch sind, was wichtig ist.
Die Moduldatei kann leer sein, die Infodatei muss jedoch einige Mindestwerte enthalten, damit Drupal sie als Modul erkennt. Für unser helloworld-Modul könnte das so aussehen:
name: 'Hello world module to demonstrate module building'
core: 8.x
type: module
Wenn Sie die obigen Anweisungen befolgen, sollten Sie in der Lage sein, ein neues Modul auf Ihrer Drupal-Site aufzulisten, obwohl es zu diesem Zeitpunkt noch nichts bringt.
Ein Modul muss mindestens haben
Um von Drupal geladen werden zu können, muss außerdem definiert werden, mit welcher Kernversion es kompatibel ist.
Weitere Drupal sucht nach Modulen in diesen Standorten:
sites/all/modules/
sites/[example.com]/modules
sites/default/modules
profiles/[install-profile]/modules
Technisch betrachtet sucht Drupal auch nach Modulen in modules
, aber man sollte niemals Module dort platzieren, daher ist es nicht auf der Liste.
Eine beispielhafte Modulstruktur für ein Modul mit dem Computernamen helloworld
sieht folgendermaßen aus:
sites/all/modules/helloworld/helloworld.info
sites/all/modules/helloworld/helloworld.module
Beachten Sie, dass sowohl die Info- als auch die Moduldatei mit dem Namen des Computers identisch sind, was wichtig ist.
Die Moduldatei kann leer sein, aber die Infodatei muss den lesbaren Namen des Moduls und die Kernversion enthalten, mit der das Modul kompatibel ist.
Für unser helloworld-Modul könnte das so aussehen:
name = Hello world module to demonstrate module building
core = 7.x
Wenn Sie die obigen Anweisungen befolgen, sollten Sie in der Lage sein, ein neues Modul auf Ihrer Drupal-Site aufzulisten, obwohl es zu diesem Zeitpunkt noch nichts bringt.
sites/default/...
nur sagen ...drupal generate:module
?Für Drupal 8 würde ich das Drupal Console- Projekt erwähnen, da in der Frage eine Blaupause erwähnt wurde .
Sobald dies installiert ist, kann man Modulcode (und andere Dinge wie Gerüste für benutzerdefinierte Entitäten, Plugins usw.) generieren.
Um ein Grundmodul aus der Befehlszeile zu erzeugen:
drupal generate:module
. Man wird dann aufgefordert, einige grundlegende Informationen zu sammeln, und erhält am Ende die Moduldateien:quelle