0311a680-8eb3-11ea-8b98-0ce0a97ac78d

Blogeintrag – CraftCMS

Von am 02.07.2025

Content-Management ist ein wichtiges Thema im Internet, vor allem, um es Alltagsmenschen zu erlauben, neue Inhalte auf Webseiten zu erstellen und zu verwalten. CraftCMS (https://craftcms.com) ist ein Content-Management-System, welches sich vor allem durch seine Flexibilität auszeichnet.

In diesem Blogartikel werde ich CraftCMS kurz vorstellen, indem ich die Grundprinzipien, technische Basis und den typischen Funktionszyklus erkläre, damit man einen kleinen Überblick über Craft bekommt.

Was ist CraftCMS?

CraftCMS ist ein modernes, PHP-basiertes Content-Management-System, das besonders für individuelle und maßgeschneiderte Webprojekte entwickelt wurde. Es bietet EntwicklerInnen maximale Kontrolle über das Frontend und ermöglicht RedakteurInnen gleichzeitig eine intuitive Pflege von Inhalten.

Im Gegensatz zu populären Systemen wie WordPress basiert Craft nicht auf vorgefertigten Themes oder einem Plugin-Marktplatz (obwohl auch Craft verschiedene Plugins besitzt, welche man installieren kann). Stattdessen muss alles selbst erstellt werde – was für hohe Flexibilität, aber auch Aufwand sorgt.

Wie funktioniert CraftCMS? – Konzepte, Technik und Ablauf

CraftCMS wurde mit dem Ziel entwickelt, eine klare Trennung zwischen Inhalt und Darstellung zu ermöglichen – ein „Content-first“-Ansatz. Die technische Basis bildet PHP (empfohlen: Version 8 oder höher) in Kombination mit dem Yii-PHP-Framework. Inhalte werden in einer relationalen Datenbank wie MySQL oder PostgreSQL gespeichert, während das Frontend mithilfe der Twig-Templating-Engine komplett frei gestaltet werden kann.

Zentrale Konzepte

Craft strukturiert Inhalte über flexible Systeme, welche man alle selbst erstellen kann:

  • Sections: Sind die übergeordneten Bereiche und bestimmen den Typ des Inhalts, welcher in ihnen enthalten ist (z. B. Blogartikel, Produkte, News). Hierbei gibt es drei verschiedene Arten von Sektionen:
    • Channel: In dieser Sektion sind alle Einträge gleichwertig, z.B. in einer Liste eingetragen. Es gibt keine Hierarchie, welcher Eintrag über einem anderen steht (Blog-Posts, News, Rezensionen, etc.)
    • Structure: Das Gegenteil von Channel. Hier gibt es eine Hierarchie, Reihenfolge und Struktur in welcher die Einträge angezeigt werden. Die Einträge hier können zum Beispiel auch verschachtelt werden (Seitenbäume, FAQs, Menüs, etc.)
    • Single: In einer Single Sektion ist nur ein einziger Eintrag erlaubt. (Startseite, Kontaktseite, Impressum, etc.)
  • Entries: Die eigentlichen Inhalte, die über das Backend gepflegt werden. Also zum Beispiel in einer Blog Section wäre jeder eigene Blog ein Entry. Diese bestehen meistens aus den folgenden Feldern:
    • einem Titel
    • optional einem Slug (für die URL)
    • einem zugehörigen Autor
    • einem Post-Datum
    • einem Feld-Layout (siehe unten)
  • Fields: Jedes Inhaltsmodell (Entry) kann mit individuellen Eingabefeldern versehen werden. Man kann also selbst festlegen, dass es zum Beispiel ein normales Textfeld für Titel, ein Feld für Bilder, vielleicht ein Feld für Richtext (Bold, Cursive, etc.) gibt. Diese Felder kann man alle selbst erstellen und dann in einem Entry festlegen, welche Fields zum Beispiel erlaubt sind, welche man verwenden kann.
  • Twig-Templates: Diese bestimmen, wie die Inhalte im Frontend ausgegeben werden – vollständig unabhängig von der Datenstruktur. Hier kann normales HTML und CSS in Verbindung mit Twig verwendet werden. Hierdurch kann man Funktionen, wie if oder for loops verwenden, um dynamisch Content anzeigen zu können.

Typischer Funktionszyklus

  1. Struktur definieren: EntwicklerInnen legen über das Admin-Panel fest, welche Inhalte (Sections) es gibt und wie sie aufgebaut sind (Entries und die in ihnen erlaubten Fields, welche auch selbst erstellt sind).
  2. Aussehen definieren: Die EntwicklerInnen erstellen dann auch Twig Templates mit HTML, CSS und Twig, welche das Aussehen der Inhalte bestimmen.
  3. Inhalte pflegen: RedakteurInnen erstellen Entries im Content-Management Interface von Craft und füllen nur die vorgesehenen Fields aus.
  4. Rendering: Beim Aufruf einer Seite werden die zugehörigen Inhalte aus der Datenbank geladen und mithilfe von Twig in HTML übersetzt.
  5. Auslieferung und Caching: Craft bietet integriertes Caching, um Seiten performant auszuliefern und die Serverlast zu reduzieren.

Craft verfolgt dabei das Prinzip: „Dein Markup, deine Regeln.“ Es gibt keine Designvorgaben – alles, was auf der Website erscheint, wird exakt so gebaut, wie es benötigt wird.

Vorteile und Nachteile

CraftCMS eignet sich besonders für Webprojekte, bei denen Design, Struktur und Benutzerführung individuell entwickelt werden soll. EntwicklerInnen haben volle Kontrolle, wie die Website aussehen soll und wie Content ausgespielt wird. Craft wird auch aktiv entwickelt, wodurch es regelmäßige Sicherheitsupdates bekommt und auch hohe Performance besitzt.

Weniger geeignet ist Craft, wenn man eine One-Click-Website „von der Stange“ möchte – dafür gibt es andere Systeme mit fertigen Templates. Auch ist zu beachten, dass CraftCMS zwar für Einzelprojekte gratis ist, man aber Lizenzen für größere Projekte braucht, da man nur dadurch weitere Benutzeraccounts bekommen kann.

Links:

Beitrag kommentieren

(*) Pflichtfeld