Neu in Craft CMS 4.3
Positiv erwähnen möchte ich hierbei die Changelogs, die durch ihr neues Format deutlich übersichtlicher und leserfreundlicher geworden sind. Unterteilt in Sektionen wie Authoring, Accessibility, Development oder Extended, sollte jeder Nutzer schneller zu den für ihn wichtigen Informationen gelangen.
Element und Asset Indexe
Die Element-Index-Werkzeugleiste hat eine neue Ansicht bekommen, in der sich die Tabellenspalten ein- und ausblenden sowie sortieren lassen. Außerdem kann dort eingestellt werden, wonach sortiert und ob dies auf- oder absteigend werden soll. Auf- und absteigend wurde aus Gründen der Barrierefreiheit in zwei Buttons aufgeteilt.
Die Indexseite für Assets wurde aktualisiert und enthält nun einen Button mit den Aktionen "Neuer Unterordner", "Ordner umbenennen" und "Ordner löschen“.
Bedingte Regeln
Die Bedingungsregeln für Datumsbereiche wurden erweitert und unterstützen jetzt relative Bereichstypen wie "Heute", "Diese Woche", "Dieser Monat", "Dieses Jahr", "Letzte 7 Tage", "Letzte 30 Tage", "Letztes Jahr", "Bevor..." und "Danach..." , zusätzlich zur Angabe von spezifischen Datumsbereichen.
Twig Global Variables
Mit Craft 4.3 sind einige neue Twig Global Variables dazu gekommen. Es gibt etwa jetzt Today, tomorrow und yesterday als Date-Objekte, die per Filter formatiert werden. Wie die Namen vermuten lassen, kann so das heutige, gestrige und morgige Datum ausgegeben werden.
{{ today | date('M d, Y') }}
{{ tomorrow | date('M d, Y') }}
{{ yesterday | date('M d, Y') }}
{% set todayPosts = craft.entries
.section('testimonials')
.postDate([
'and',
">= #{today|date('Y-m-d')}",
"< #{tomorrow|date('Y-m-d')}"
])
.all() %}
{% for post in todaysPosts %}
<li>{{ post.title }} - {{ post.postDate | date("M d, Y") }}</li>
{% endfor %}
Twig Filter
Mit boolean, float, integer und string sind neue Twig Filter hinzugekommen. Eine willkommene Neuerung, da Craft mit Version 4 zu einer expliziert typisierten API überging und mit den neuen Filtern nun sichergestellt werden kann, dass die Parameter den zu erwarteten Typ haben.
{% set val1 = true | boolean %} {# true #}
{% set val2 = "Hello" | integer %} {# 0 #}
{% set val3 = 12345.1 | float %} {% {# 12345.1 #}
{% set val4 = 12345 | string %} {# '12345' #}
Twig function
Es gibt mit canCreateDrafts() , canDelete(), canDeleteForSite(), canDuplicate(), canSave() und canView() neue globale Twig-Funktionen zur Elementautorisierung für Craft 4.3. Diese Funktionen beinhalten Element- und Benutzerargumente, der Benutzer ist dabei aber optional und als Standardwert wird der aktuelle Benutzer gesetzt.
{% if not canView(entry) %}
{% redirect siteUrl %}
{% endif %}
Wer alle Details wissen möchte, liest am Besten den Changelog.