Programmgesteuert einen neuen Inhaltstyp in die Installationsdatei oder die Moduldatei einfügen?

7

Es gibt zwei verschiedene Möglichkeiten, einen neuen Inhaltstyp programmgesteuert zu erstellen.

Ich bevorzuge die erste Methode, da meine Gefühle sagen, dass sie besser zu pflegen ist (dh neue Felder über hinzuzufügen / zu aktualisieren über hook_update_N()) und besser in die .installDatei passt . Aber ich frage mich immer wieder, warum dies im Node Example-Modul anders gemacht wird.

Kennt jemand die CONs und PROs, mit denen beide Methoden zum Erstellen eines neuen Inhaltstyps im Code verwendet werden?

Елин Й.
quelle

Antworten:

5

Einige Hooks, wie z. B., hook_deletewerden nur für das Modul aufgerufen, das den Inhaltstyp des Knotens definiert. Wenn Sie den Inhaltstyp mit in einer Datenbank speichern node_type_save(), wird er möglicherweise nicht als "vom Modul definiert" erkannt - er fungiert als vom Benutzer erstellte Inhaltstypen. Es sei denn, Sie setzen natürlich $info['module']auf Ihr Modul. In diesem Fall sollten die erstellten Einträge auf die gleiche Weise funktionieren.

Mołot
quelle
4

Eine dritte Methode, die häufig einfacher zu warten ist, insbesondere wenn sich Ihr Knotentyp im Laufe der Zeit ändert, besteht darin, Features zum Exportieren des Knotentyps, der Felder und der Feldinstanzen zu verwenden. Sie können dem exportierten Features-Modul weiterhin benutzerdefinierten Code hinzufügen. Features behalten diesen benutzerdefinierten Code (und alle zusätzlichen Dateien) bei zukünftigen Exporten bei.

Früher habe ich lange Zeit die .install-Dateimethode verwendet, aber die Stabilität und die UI / Drush-Integration von Features sind jetzt gut genug, da ich viel Zeit beim manuellen Abrufen der Feld- und Knotentypinformationen sparen kann.

Wenn Sie Änderungen am Knotentyp / fields / etc. vornehmen und das Feature-Modul erneut exportieren, können Sie das Feature in der Benutzeroberfläche aktualisieren feature-revertoder drush oder verwenden features-revert-all.

geerlingguy
quelle
-3

Damit wird es kein Problem geben ... mit der Update-Methode können Sie die neuen Inhaltstypen erstellen ...

purab
quelle
Denken Sie wirklich, dass dies eine ANTWORT auf die Frage der Nachteile und Vorteile ist, die das OP stellt?
Sk8erPeter