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.

Foto von Thomas Sausen

Selbstständiger Webentwickler, der 2005 mit WordPress-Websites anfing, dann zu ExpressionEngine wechselte und 2013 sein Herz an Craft CMS verlor. Als Gründer von Craftentries, berichtet er seit 2015 über das Craft-Ökosystem.

Thomas Sausen

Webentwickler