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.