Was sind Element Types?
One of the key innovations in Craft – make that the key innovation – is a new concept called “Element Types”. We’ve mentioned Element Types here and there, but we haven’t explained what they are yet, much less how plugins can take advantage of them. Now that Craft 2 is out, we’re finally ready to lift the curtain. - Pixel & Tonic
Elemente
Dateisysteme verwalten Dateien. iPhoto verwaltet Fotos, iTunes verwaltet Medien und Blog-Systeme verwalten Einträge. Ein Content Management System verwaltet eben Inhalte. Historisch betrachtet bedeutet Inhalt bei einem CMS fast, dass Inhalte meist als Einträge gespeichert werden. Natürlich lassen sich auch Benutzer, Kategorien oder Dateien mit einem CMS verwalten, doch nur Einträge greifen meist auf benutzerdefinierte Felder oder Beziehungen zurück.
Während andere Redaktionssysteme Entries verwaltet, verwaltet Craft Elements. Alles in Craft sind Elements, sei es Benutzer, Dateien, Kategorien, Tags, Globals oder Matrix-Blöcke. Sogar Entries sind in Craft Elements. Dadurch ist Craft in der Benutzung so konsistent und flexibel, denn benutzerdefinierte Felder oder Beziehungen stehen einfach allen Elementen zur Verfügung.
Elementtypen
Element Types sind die Klassen, mit denen die verschieden Elemente identifiziert werden. Es gibt "UserElementType", "AssetElementType" und so weiter. Dieses Modell ähnelt denen der Klassen für benutzerdefinierte Feldtypen. Die Beziehung zwischen einem Element und einem Element ist genauso wie die Beziehung zwischen einem Feld und einem Feldtyp.
Ab Craft 2 ist die Element Type API soweit, dass Plugins ihre eigenen Elementtypen kreieren können. Dadurch erhalten Plugin-Entwickler neue Möglichkeiten und das Ökosystem wird noch vielfältiger.