Wie kann ich durch Features erstellte Felder wieder löschen?

Wenn man häufig mit Features arbeitet und mit den Features Inhaltstypen zwischen verschiedenen Installationen hin- und herschiebt, kann es durchaus mal vorkommen, dass man nicht nur Felder zu einem Inhaltstypen hinzufügt, sondern auch mal ein Feld aus einem Inhaltstypen entfernen möchte.

Das Problem

Nachdem man das Feld lokal aus dem entsprechenden Inhaltstypen gelöscht hat, entfernt Features bei der nächsten Aktualisierung zwar die Felddefinition aus seinem Code, damit wird das Feld jedoch nicht in einer anderen Installation beim Zurücksetzen des Features gelöscht.

Die Lösung

... ist eigentlich ganz simple. Da ein Feature auch nur ein ganz normales Modul ist, kann man ihm auch eine .install-Datei hinzufügen und dort dann in einem update-Hook das Feld entfernen.
Hier mal ein kleines Beispiel für ein Feature namens "Dingens" und Felder in einem Inhaltstypen namens "project":

'project')); } ?>

Wenn man nun update.php ausführt, werden die Felder aus dem Inhaltstypen sauber gelöscht.

Stefan Borchert
  • Geschäftsführung

Stefan ist Co-Geschäftsführer und zuständig für die Qualitätssicherung bei undpaul. Er beherrscht ver­schiedenste Programmiersprachen und hat ein Auge für das User Interface. Er ist Maintainer diverser Module, Mitarbeiter am Drupal Core und Mitglied der ersten Stunde der Drupal User Group Hannover. Acquia Certified Developer seit Juli 2014. Entgegen aller gängigen Vorurteile über Programmierer, zieht er Bewegung an der frischen Luft dem Sofa vor.