Contao-News
Wir informieren Dich hier regelmäßig zu Updates, stellen Best-Practice-Arbeiten vor und berichten über Aktuelles aus dem Contaoversum.
Contao 5.4 - ein iconisches Release
von Marcus Lelle – Aktuelles
Wenn andere Urlaub machen, wird bei Contao schwer gearbeitet: Die Contao-Version 5.4 ist da.
Das Core-Team und viele andere Entwickler:innen haben wieder viele Pull Requests verarbeitet, um unser Lieblings-CMS immer noch ein Stückchen besser zu machen. Wir freuen uns auf die neuen Features für Anwender:innen und Entwickler:innen.
Contao 5.4 wird bis Februar 2025 mit Updates unterstützt. Auch die Version 5.3 erhält als LTS-Version weiterhin Updates.
Welche Contao-Versionen aktuell unterstützt werden, kannst du im Contao Release-Plan nachlesen.
Für Anwender:innen
Neues, einheitliches Icon-Set
Die optisch auffälligste Neuerung in Contao 5.4 sind die neuen Lucide-Icons. Schon lange wurde über die Ablösung der aus verschiedenen Quellen stammenden alten Icons diskutiert. Nun präsentiert sich Contao hier im neuen Gewand.
Neue Anti-Spam-Methode für Formulare
Mit Hilfe der Vorarbeit durch Marco Cupic hat Contao nun ein weiteres Mittel im Kampf gegen unerwünschte Bots.
Die Open-Source-Lösung ALTCHA steht dir ab sofort alternativ zur Sicherheitsfrage zur Verfügung, um Formulare gegen Missbrauch zu schützen. ALTCHA verwendet einen Proof-of-Work-Mechanismus und kommt ohne Cookies oder Fingerprinting aus. Somit ist die Lösung vollständig DSGVO-konform.
Pull Request: #7054
ARIA-Label in der Navigation
Für einen weiteren Schritt zur Barrierefreiheit kannst du nun ARIA-Labels in Navigations-Modulen definieren. Sobald es mehr als eine Navigation auf der Seite gibt, sollten diese durch eindeutige Labels gekennzeichnet werden.
Pull Request: #7209
Der Picker ist nicht mehr an die Session gekoppelt
Wenn du die Seiten und Artikel nach einer Unterseite gefiltert hast, zeigt dir das Auswahl-Modal für Seiten, Dateien, etc. trotzdem alle Pfade an.
Pull Request: #6648
Contao 5.4 schaltet den Turbo an
Mit der neuen Version hält Turbo Einzug in das Contao-Backend und macht es durch das intelligente Preloading von Links spürbar schneller. In der Zukunft sind weitere Optimierungen auf der Basis von Turbo und Stimulus geplant.
Pull Request: #7011
Für Entwickler:innen
Template Attribute einfacher überschreibbar
In html5-Templates kannst du nun auch die attr()
-Funktion nutzen, um mit weniger Aufwand Templates wie die fe_page einfach anzupassen.
$this->extend('fe_page');
$this->rootAttributes = $this->attr()
->set('data-turbo', false)
->mergeWith($this->rootAttributes)
;
$this->bodyAttributes = $this->attr()
->set('data-controller', 'foobar')
->mergeWith($this->bodyAttributes)
;
PageFinder::getCurrentPage() ist das neue $GLOBALS['objPage']
globals
$objPage
bzw. $GLOBALS['objPage']
soll zukünftig nicht mehr verwendet werden. PageFinder::getCurrentPage()
ist die Alternative dazu.
Pull Request: #6997
$page = $this->pageFinder->getCurrentPage($request);
$pageId = $page->id;
$pageAlias = $page->alias;
Twig-Slots
Für Twig-Templates gibt es eine neue Platzhalter-Funktion slot
. Im Gegensatz zu blocks
können slots
durch den Inspector-Service vorab auf ihr Vorhandensein geprüft werden. Auf diesem Weg wird es z. B. möglich sein, in zukünftigen Contao-Versionen für die Layouts im Backend die möglichen Slots zu ermitteln und sie für Module und ähnliches zur Verfügung zu stellen. Aktuell wird dies im Core noch nicht genutzt.
Pull Request: #6999
{# @Contao/foo.html.twig #}
<div class="wrapper">
{# simple usage #}
{% slot main %}{% endslot %}
{# usage with placeholders #}
{% slot left %}
<aside>{{ slot() }}</aside>
{% endslot %}
{# using optional fallback values #}
{% slot footer %}
<aside>{{ slot() }}</aside>
{% else %}
<!-- there is no footer -->
{% endslot %}
</div>
/** @var Contao\CoreBundle\Twig\Inspector\Inspector $inspector */
$inspector->inspectTemplates('@Contao/foo.html.twig')->getSlots(); // ['footer', 'left', 'main']
Vieles Weitere
Alle Änderungen kannst du ausführlich im Changelog nachlesen. Christian Feneberg hat auch wieder ein sehenswertes Video zu Contao 5.4 erstellt.
Kompatibilität
Contao 5.4 ist kompatibel mit
- Symfony 6.4 und 7
- PHP 8.1+
- Monolog 3
- Doctrine 3
- TinyMCE 5, 6 und 7
Siehe auch: Tickets | Versionsvergleich | Changelog
Kommentare
Einen Kommentar schreiben