Das Ziel von Drupal-Modulen ist es, bestimmte Komponenten mit einer separaten Logik zu versehen, damit sie deaktiviert werden können, wenn etwas schief geht.
In Ihrem Fall, in dem ein neues Feld einmalig erstellt wird, ist die Verwendung von entweder hook_install
oder das ideale Szenario hook_update
.
Wenn Sie kein benutzerdefiniertes Modul haben (übrigens können Sie auch das exportierte Feature-Modul verwenden), erstellen Sie ein neues nur für Updates (z site_updates
. B. ). In Drupal 7, alles , was Sie brauchen , ist Ordner mit 3 Dateien zu erstellen: .info
, .module
und , .install
und definieren installieren oder aktualisieren Haken in Ihrem .install
. Die Verwendung von install / update hook ist praktisch, um konsistente Umgebungen zu haben, insbesondere wenn Sie mehrere Drupal-Server (wie dev, test und prod) haben, sodass die Änderung bei der nächsten Bereitstellung aufgerufen werden kann.
Wenn Sie immer noch kein Modul erstellen möchten, finden Sie hier weitere Methoden.
Einmalige Ausführung
Wenn Sie bestimmten PHP-Code nur einmal ausführen müssen, können Sie:
- Aktivieren Sie das Entwicklungsmodul und fügen Sie den Code unter ein
/devel/php
.
Verwenden Sie CLI (und den Befehl / ), um PHP-Code auszuführen, zdrush
eval
ev
drush ev 'field_create_field(["field_name"=>"foo", "type"=>"image"]);'
drush ev 'print_r(field_info_field("foo"));'
Verwenden Sie drush scr
diese Option, um ein PHP-Skript auszuführen:
drush scr my_file.php
Wo my_file.php
ist dein einfaches PHP-Skript mit deinem Code zum Ausführen?
Spezifische Seitenausführung
So führen Sie benutzerdefinierten Code auf bestimmten Seiten oder Komponenten aus:
Alle Seitenausführung
Um PHP-Code auf jeder Seite hinzuzufügen und auszuführen, ohne ein Modul zu schreiben, können Sie:
- Verwenden Sie dazu eine
settings.php
Datei. Es wird nur für einfachen Code empfohlen, z. B. zum Überschreiben der Konfiguration. Andernfalls sollten Sie dies hook_init
als Teil Ihres benutzerdefinierten Moduls verwenden.
- Aktivieren Sie den PHP-Textfilter , erstellen Sie einen Block mit benutzerdefiniertem PHP-Code und platzieren Sie den Block in der Fußzeile.