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.

Pull Requests: #7278, #7298, #7301, #7302

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

Kompatibilität mit TinyMCE 7

Contao unterstützt nun auch die TinyMCE-Version 7.

Pull Request: #7249

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.

Pull Requests: #7218, #7238

$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

Alle News anzeigen

Kommentare

Einen Kommentar schreiben

Bitte addieren Sie 4 und 3.