de en
← Zur Artikel-Übersicht

Neu in Craft CMS 4.0

Craft CMS 4.0 Teaser
Nach einer langen Wartezeit wurde in dieser Woche endlich Craft 4 sowie Commerce 4 veröffentlicht. Und die neuen Funktionen des CMS sollten Entwickler, aber auch Autoren gleichermaßen zufriedenstellen. 

Seit der Vorstellung von Craft vor 9 Jahren konzentrieren sich die Macher hinter dem CMS auf eine gute Nutzererfahrung für Content-Manager. Die Content-Teams sollen vielschichtige Inhaltsmodelle alltäglich problemlos verwalten können, ohne dass ein erhöhter Schulungsaufwand nötig ist.

Inhalte in Craft besitzen mitunter komplexe Beziehungen, mehrere Kategorien, Matrix-Felder und Dateien. All das benutzerfreundlich im Admin pflegbar zu haben, ohne Performance-Probleme, ist eine Herausforderung. Craft 4 weist glücklicherweise in genau diesen Bereichen die größten Neuerungen auf.

Bedingte Felder

Felder-Layouts und Registerkarten innerhalb des Admins können nun ein- und ausgeblendet werden, falls eine bestimmte Bedingung erfüllt wird. Beispielsweise könnte man ein CTA nur dann anzeigen lassen, wenn ein anderes Feld ausgefüllt ist. Jeder, der WordPress mit Advanced Custom Fields nutzt, kennt diese Funktion bereits. Mit Craft Version 4.0 ist sie Bestandteil des Cores.

Bedingte Felder in Craft CMS 4.0

Benutzerverwaltung

Bezüglich Benutzerverwaltung gibt es mehrere kleinere Optimierungen, die aber alle extrem hilfreich sind. Nutzer können jetzt Adressen verwalten, die von Plug-ins wie Craft Commerce aufgerufen werden können. Auch gibt es bei den Benutzern nicht mehr ein einzelnes Feld jeweils für „Vorname“ und „Nachname“, sondern schlicht das Feld „Vollständiger Name“, aus dem dann Vor- und Nachname für Sortierzwecke extrahiert werden können.

Mit inaktiven Benutzern können nun Anwender verwaltet werden, die eine Person oder Einrichtung repräsentieren, aber keine Anmeldedaten benötigen.

Benutzer können jetzt ihre Formatierungssprache auf jede bekannte Sprache einstellen, nicht nur auf die, für die das Control Panel übersetzt wurde.

Dateiverwaltung

Craft CMS 4 verbessert auch die Dateiverwaltung. So haben Volumes beispielsweise keine Typen mehr verknüpft und werden stattdessen einem „Dateisystem“ direkt zugewiesen.

Bildtransformationen können jetzt einem separaten Dateisystem zugeordnet werden. So könnten die Original-Bilder etwa ein nicht öffentliches Dateisystem nutzen, während die Transformationen ein öffentliches Dateisystem verwenden. Die Setzung eines Fokuspunktes geht jetzt nicht mehr ausschließlich im Bildeditor, sondern schon im Vorschaufenster.

Natives Feld für Alt-Text

Ansonsten gibt es endlich ein natives Alt-Text-Feld für Bilder. Nicht die größte Änderung, aber immerhin ein Feld weniger zu erstellen, sobald mit Bildern im CMS gearbeitet wird. Leider ist das native Alt-Text-Feld aber nicht in mehrere Sprachen übersetzbar. Diese Funktion ist erst für Craft 5 geplant und somit sollten mehrsprachige Websites weiter ein eigenes Feld für den Alt-Text von Bildern verwenden.

Filterung von Eintragselementen

Hilfreich, gerade bei Projekten mit vielen Einträgen ist die neue Filterung von Eintragselementen im Control Panel. Dank der benutzerdefinierten Filterung der Elementindexe können so dynamisch alle Einträge eines Autors angezeigt werden. Oder es ist eine Filterung aller Einträge gewünscht, die mit einer anderen Sektion verknüpft sind. Es können auch mehrere Filter miteinander verknüpft werden, damit umfangreiche Anfragen möglich sind.

Beispiel von Element Index Filtering in Craft 4.0

Collections

Craft 4 bringt Laravel Collections für Daten-Arrays ins CMS. Elementabfragen enthalten jetzt eine `collect()`-Methode, die Abfrageergebnisse als eine dieser Sammlungen anstelle eines Arrays zurückgibt:

  {# Collection #}
{% set posts = craft.entries()
  .section('blog')
  .collect() %}

Collections unterstützen auch Eager Loading und eignen sich daher für Dateien. Während in Craft 3 die Bild-URL innerhalb eines Arrays abgerufen wurde, geht dies nun über eine Collection, wenn nur das erste Bild angezeigt werden soll:

  {{ entry.image.collect().first().url() }}

Sonstiges

  • Es ist mit Craft 4 möglich, die Kategorien auch als Entwürfe zu speichern. Damit nähern sich Kategorien den Einträgen an, was Funktionsumfang und Flexibilität angeht.
  • Craft setzt jetzt PHP 8 voraus und ermöglicht es Entwicklern, mehrere neue Sprachfunktionen zu nutzen.
  • Craft enthält mittlerweile einen eingebauten Feldtyp „Geld“ sowie einen neuen Twig-Filter `|money`. Nützlich etwa in E-Commerce-Umgebungen, wo währungsabhängige Darstellung von Geldbeträgen gefordert ist.
  • Die meisten allgemeinen Konfigurationseinstellungen und die Einstellungen für die Datenbankverbindung können Umgebungsvariablen überschrieben werden. Auch kann der Site-Status mit Umgebungsvariablen gesetzt werden.
  • Es ist jetzt möglich, benutzerdefinierte Bildtransformatoren zu registrieren, die nicht mehr die eingebauten GD/ImageMagick-basierten Transformator nutzen.
  • Die {% cache %}-Tags verfolgen nun alle externen JavaScript- und CSS-Ressourcen, die im Cache zwischengespeichert wurden, und registrieren sie beim nächsten Laden der Seite erneut.
  • Craft CMS versendet E-Mails jetzt mit Symfony Mailer anstatt mit Swift Mailer.

Fazit

Craft CMS 4 ist ein gutes Update, auch wenn die großen neuen Funktionen ausblieben. Am ehesten fallen noch die bedingten Felder in diese Kategorie. Die Community wartet aber auf Matrix in Matrix, was ursprünglich für Craft 4.0 geplant war. Trotzdem sorgen alle Verbesserungen am CMS dafür, dass es noch ausgefeilt wird.

Eine optimierte Barrierefreiheit im Control Panel trifft auf eine bessere Performance bei der Erstellung von Entwürfen und Revisionen. Durch das Filtern von Eintragselementen können Redakteure schneller bestimmte Einträge finden, die die gewählten Kriterien entsprechen. Auch die Integration von bedingten Feldern verbessert die Author-Experience enorm.

Entwickler freuen sich über die neue flexible Dateiverwaltung, das bessere Caching, die Möglichkeit, mehr Umgebungsvariablen zu setzen oder mit den Collections den Twig-Code zu vereinfachen.

Das Ganze ist eben mehr als die Summe seiner Teile und Craft bietet mittlerweile einen ausgezeichneten Arbeitsablauf für Redakteure und Entwickler.

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 Web Developer