CMSstash

Craft CMS: Content und Commerce für KMUs

Autor: Sebastian Schürmanns

Craft CMS gehört zu den Shooting-Stars unter den Content Management Systemen und versteht sich als modernes CMS mit einer Content-First-Strategie. Tatsächlich wird auf die User Experience sehr großen Wert gelegt und auch in technischer Hinsicht gehört Craft CMS zu den modernsten Systemen auf dem Markt. Mit der eCommerce Erweiterung bietet sich Craft CMS unter anderem auch für Unternehmen aus dem Mittelstand an.

Craft CMS mit Content First

Craft CMS ist ein kommerzielles System im niedrigen Preis-Segment. Die erste Version von Craft CMS ist im Jahr 2013 erschienen. Im Dezember 2015 folgte mit "Craft Commerce" die E-Commerce-Ergänzung. Im April 2018 ist mit Craft 3 eine weitgehend überarbeitete und erweiterte Version erschienen.

Craft CMS stammt von Pixel & Tonic. Pixel & Tonic starteten als Entwickler-Team für das CMS Expression Engine, und tatsächlich wirkt Craft CMS in vieler Hinsicht wie eine modernisierte Variante des bekannten CMS. Craft CMS taucht in den allgemeinen Verbreitungsstatistiken zwar kaum auf, hat aber in den letzten Jahren ein starkes Wachstum erlebt und viel Aufmerksamkeit erhalten. Die Community ist groß und aktiv. Es gibt weltweit Meetups und eine Entwickler-Konferenz unter dem Namen dotall, die zuletzt im September 2018 in Berlin stattgefunden hat.

Craft für Content Manager

Craft CMS versteht sich als ein "Content First" CMS. Und tatsächlich legt Craft CMS mit einer sehr modernen Autoren-Oberfläche viel Wert auf eine ansprechende Interaktion und Bedienung. Die mit viel JavaScript erstellten Effekte sind jedoch keine überflüssigen Spielereien, sondern werden ausschließlich für die Verbesserung der Usability und für einen angenehmen Bearbeitungsprozess eingesetzt.

Zu diesen gut durchdachten Features zählt zum Beispiel die Live-Preview, die als Overlay von den Rändern her einfährt und am linken Rand einen Editor bietet. Man kann also auch in der Live-Vorschau Änderungen am Content vornehmen und anschließend bruchlos wieder in den Standard-Modus wechseln.

Autorenoberfläche von Craft CMS

Mit der Standard-Installation von Craft CMS ist die Administrations-Oberfläche sehr übersichtlich. Das Haupt-Menü startet mit den drei Menü-Punkten "Dashboard", "Entries" und "Settings", außerdem gibt es noch die "Utilities" und einen "Plugin-Store".

Hinter dieser einfachen Oberfläche verbirgt sich ein mächtiges und flexibles Konzept:

Herzstück des Settings-Bereichs sind der Field- und der Seiten-Manager ("Sections"). Mit beiden Tools kann der Administrator den Content einer Webseite von Grund auf modellieren und ein individuelles Autoren-Interface erstellen.

Der große Vorteil dieses Konzepts von Craft CMS liegt auf der Hand: Das System macht keinerlei Vorgaben für die Webseite und kann von einem Entwickler exakt an die Bedürfnisse des jeweiligen Webseiten-Konzepts angepasst werden. Richtig konfiguriert steht dem Autoren ein perfekt zugeschnittenes Autoren-Dashboard zur Verfügung. Anders als üblich gibt es bei Craft jedoch nach der Installation keine Vor-Konfiguration, initial sind also keinerlei Eingabefelder für Inhalte vorhanden. Mit diesem Ansatz macht Craft CMS einmal mehr seine Ausrichtung deutlich: Im Gegensatz zu WordPress wendet sich Craft nicht direkt an den Endnutzer, sondern versteht sich als Werkzeug für Entwickler und Agenturen.

Craft für Entwickler

Craft CMS baut auf dem PHP-Framework Yii auf. Systemvoraussetzungen für Craft 3 sind PHP 7.0+ sowie eine Datenbank mit MySQL 5.5+ und InnoDB oder PostgreSQL 9.5+. Die Installation von Craft 3 kann manuell oder bequem per Composer über die Kommando-Zeile erfolgen:

composer create-project craftcms/craft PATH

Wer sich für die Composer-Variante entscheidet, kann anschließend in das Installations-Verzeichnis wechseln und eine neue Craft-Webseite konfigurieren:

craft setup

Nach der Installation von Craft ist das Admin-Dashboard unter /web/admin/login erreichbar.

Bevor der Autor Inhalte erstellen kann, muss der Administrator zunächst den Content modellieren, oder konkreter: Er muss die Eingabefelder und Seiten-Typen für das Autoren-Dashboard definieren. All das ist bequem über das Dashboard und komplett ohne Code-Kenntnisse möglich.

Die Zuordnung von "Fields" oder "Field Groups" zu einem Seiten-Typ ist letztlich nichts anderes als eine Datenbank-Verknüpfung. Und diese Verknüpfung ist auch im Settings-Bereich sichtbar, denn zu jedem Seiten-Typ werden die verknüpften "Entry-Types" aufgelistet:

Zuordnung von Field-Types zu Sections in Craft CMS

Die Einbindung der Eingabefelder in einen Seiten-Typ erfolgt über einen sehr komfortablen Visual Field-Manager, der per Drag & Drop funktioniert und mehr oder weniger selbsterklärend ist:

Der Visual Field-Manager

Ist das Zusammenspiel von Fields und Seiten-Typen einmal verstanden, erweist sich Craft als enorm flexibel. Ein Administrator ist in der Lage, ohne jede Code-Kenntnisse jede beliebige Art von Content für die Webseite zu modellieren und das User-Interface für den Autor individuell zu gestalten. Für Neulinge ist der Einstieg in Craft CMS jedoch nicht immer ganz einfach, weil dieses Grund-Prinzip etwas ungewohnt ist und erst einmal verstanden werden muss. Eine gutes Verständnis liefert diese 5-Minuten-Demonstration des Matrix-Fields auf Youtube.

Ist der Content im Dashboard einmal modelliert, ist auch die Theme-Erstellung mehr oder weniger selbsterklärend. Craft CMS nutzt für Templates die verbreitete Template-Sprache Twig. Um die in Craft erstellten Inhalte auf einem Template auszugeben, kann der Entwickler die Namen der vorher definierten Sections und Fields nutzen. Um beispielsweise eine Liste mit Blog-Einträgen auszugeben, muss per Twig nur ein Loop über die Blog-Einträge erstellt und anschließend die Namen der Feld-Einträge angegeben werden:

{% for entry in craft.entries.section('blog').find() %}
  {{ entry.title }}
{% endfor %}

Die Details der Template-Erstellung kann man in der Entwickler-Doku von Craft CMS nachlesen.

Ähnlich wie das Flat-File-CMS Statamic hat auch Craft CMS sein sehr flexibles Field-Management von dem CMS ExpressionEngine übernommen und perfektioniert. Bei Craft CMS ist der Field-Manager jedoch so flexibel und komfortabel, dass es an das Headless CMS Directus erinnert. Und tatsächlich ist auch Craft CMS als Headless CMS einsetzbar. Anders als Directus bietet Craft zwar kein vollständiges API-Management "out of the box" an. Eine Headless-Architektur ist jedoch über die eingebaute JSON-API (read-only), einem GraphQL-Plugin oder einer REST-Api in Eigen-Entwicklung möglich. Anleitungen und Links zu Tutorials findet man in der Dokument von Craft.

Für Entwickler sind auch noch andere Neuerungen von Craft 3 interessant. Dazu gehört zum Beispiel ein sehr komfortabler Plugin-Store, über den Entwickler sehr einfach eigene Erweiterungen anbieten und erwerben können. Außerdem unterstützt Craft 3 Multi-Website-Installationen, was das System noch stärker als Enterprise-CMS qualifiziert.

Craft für Nicht-Entwickler

Craft CMS ist ein Content Management System für Entwickler. Es bietet keinerlei vorgefertigte Themes an. Wem das Konzept von Craft CMS zusagt, der sollte mit seiner IT-Abteilung sprechen oder spezialisierte Entwickler anheuern.

Preise

Craft ist ein proprietäres CMS im niedrigen bis mittleren Preis-Segment. Craft ist in zwei Versionen verfügbar:

Zusätzlich zum Download gibt es auch ein Repo auf GitHub.

Empfehlung: Wann lohnt der Einsatz?

Wer auf der Suche nach einem wirklich modernen CMS auf PHP-Basis ist, das seinen Fokus konsequent auf die Usability für Autoren legt, der wird mit Craft CMS sicher glücklich werden. Craft kann für einfache und mittelkomplexe Seiten verwendet werden, in Kombination mit Craft-Commerce eignet sich Craft natürlich auch sehr gut für Shops und den Handel. Seit Version 3 von Craft sind auch Multi-Site-Installationen möglich.

Craft CMS wird von zahlreichen mittelgroßen Unternehmen verwendet, darunter zum Beispiel die Kunsthalle Stavanger oder Samuelsohn.

Auch andere Experten lesen gerne gute Inhalte und freuen sich, wenn Du diesen Artikel zum Beispiel über Twitter teilst. Auf Twitter gibt es außerdem von @CMSstash tägliche Updates.

Zuletzt aktualisert: 11.10.2018