Contao-News

Wir informieren Dich hier regelmäßig zu Updates, stellen Best-Practice-Arbeiten vor und berichten über Aktuelles aus dem Contaoversum.

Contao 4.13.0 verfügbar

von Leo Feyer – Ankündigungen

Contao Version 4.13.0 ist verfügbar. Das Release enthält neue Features wie Layouts für Unterseiten, Frontend-Preview-Links, kanonische URLs, Vorschaubilder für Dokumente, Datenbank-Backups per Command, verbesserte Übersicht gelöschter Datensätze, ein Maker-Bundle und vieles mehr.

Das Video Contao Keynote zur 4.13 LTS Version ist ein Mitschnitt der Release-Session vom 15. Februar, in der die neuen Features präsentiert wurden. In seinem Video Contao 4.13 – Die wichtigsten Neuerungen stellt Christian außerdem die Neuerungen für Anwender vor.

Vererbung des Seitenlayouts

In der Seitenstruktur könnt ihr ab sofort ein abweichendes Layout für Unterseiten festlegen. Standardmäßig wird das ausgewählte Seitenlayout weiterhin an die Unterseiten vererbt.

Ressourcen: #3419

Frontend-Preview-Links

Ein Frontend-Preview-Link ist ein Link auf eine bestimmte Frontend-Seite, den man mit anderen Personen teilen kann. Diese anderen Personen können die Vorschau dann ohne einen eigenen Backend-Account aufrufen.

Ressourcen: #3872

Wartungsmodus pro Root-Seite

Der Wartungsmodus im Frontend kann zukünftig pro Root-Seite aktiviert werden. Der systemweite Wartungsmodus umfasst in Contao 4.13 auch das Backend und kann per Contao Manager oder Kommandozeile aktiviert werden.

Ressourcen: #3729

Zwei Seiten mit demselben Alias

In Contao 4.13 kann ein Seitenalias für mehrere Seiten verwendet werden, wenn diese unterschiedliche Parameter haben.

Beispiel: Die Seite "News" hat das Alias news und listet alle verfügbaren Nachrichten auf. Die Seite "News-Reader" hat ebenfalls das Alias news sowie zusätzlich die Option "Element erforderlich" und zeigt die Detailansicht einer Nachricht.

Ressourcen: #3843

Kanonische URLs im Frontend

Wird in den Einstellungen der Root-Seite das rel="canonical"-Tag aktiviert, gibt Contao im Frontend kanonische URLs aus. Die kanonische URL kann pro Unterseite individuell angepasst werden. Contao zeigt automatisch kanonisch auf sich selbst und man kann einstellen, dass bestimmte Query-Parameter behalten werden sollen.

Ausserdem ignoriert der Suchindexer zukünftig Seiten mit fremder kanonischer URLs, wodurch der Suchindex besser wird.

Ressourcen: #3616

Vorschaubilder für Dokumente

Vorschaubilder, beispielsweise in einem Download-Element, können nun auch für Dokumente wie PDFs, Word- oder Excel-Dateien erstellt werden. Dazu ist es notwendig, dass auf dem Server Imagemagick oder Graphicsmagick installiert ist und PHP mit der Erweiterung Imagick bzw. Gmagick kompiliert wurde. Je nach Dokumenttyp werden weitere Pakete wie z.B. Ghostscript benötigt.

Ressourcen: #3848

Template-Element

Das Template-Element bzw. Template-Modul erlaubt die einfache Einbindung eines individuellen Templates, ohne dass dafür das HTML-Element "missbraucht" werden muss. Optional können Variablen übergeben werden.

Ressourcen: #3625

Startpunktabhängige Module

Das neue Modul "Startpunktabhängige Module" erlaubt es, je nach Startpunkt ein anderes Modul einzubinden. Dies soll eine Alternativ dazu sein, Module mittels Insert-Tags wie iflng und insert_module einzubinden.

Ressourcen: #3613

Übersichtsseite

Wird bei einem News- und Event-Reader eine Übersichtsseite ausgewählt, erzeugt Contao automatisch einen Link zurück zur Übersichtsseite. Der Name des Links kann individuell angepasst werden.

Ressourcen: #3862

Benutzerverzeichnis löschen

Im Modul "Konto schließen" kann nun die Option aktiviert werden, das Benutzerverzeichnis automatisch mit zu löschen, wenn ein Mitglied sein Konto unwiderruflich löscht.

Ressourcen: #3522

Bildgrößen in RSS-Feeds

In RSS-Feeds von Nachrichten und Events können nun Bildgrößen verwendet werden.

Ressourcen: #3630

Bildabmessungen im Upload-Widget

Bei Datei-Uploads im Formulargenerator kann die systemweite Bildhöhe und Bildbreite individuell überschrieben werden.

Ressourcen: #3628

Verbesserte Wiederherstellung

Das Modul "Wiederherstellen" zeigt nun eine Vorschau des gelöschten Elements anstatt des DB-Queries. Dadurch lässt sich deutlich besser erkennen, um welches Element es sich handelt. Außerdem lässt sich das übergeordnete Element öffnen, damit man schnell sieht, zu welchem Element der gelöschte Datensatz gehört.

Ressourcen: #3498

Verbesserte UX im Backend

In der Baumansicht werden bei eingeschränkten Berechtigungen (Pagemounts) die Elternseiten mit angezeigt, damit sich Redakteure besser orientieren können. Außerdem können die Elemente im Navigationspfad nun angeklickt werden.

Im Dateimanager können jetzt Ordnernamen mit Slash eingegeben werden, um mehrere, verschachtelte Order in einem Rutsch anzulegen.

Ressourcen: #3391, #3727, #3793

Individuelle Backend-URL

Das klassische /contao, unter dem das Backend aufgerufen wird, kann jetzt in z.B. /admin geändert werden. An dieser Stelle möchten wir darauf hinweisen, dass das Feature nicht als Security-Maßnahme misszuverstehen ist. Es ist vielmehr für die Fälle gedacht, in denen jemand den Pfad /contao als reguläre Seite im Frontend verwenden möchte.

Ressourcen: #3472

Parameter für Insert-Tag-Links

Die neuen Parameter ::blank und ::absolute erlauben es, ein Insert-Tag-Link in einem neuen Fenster zu öffnen bzw. als absolute URL auszugeben.

Ressourcen: #3230

DB-Backups per Command

Die Commands contao:backup:create, contao:backup:list und contao:backup:restore ermöglichen die Erstellung und Verwaltung von Datenbank-Backups, ohne dass dazu das mysqldump-Binary auf dem Server installiert sein muss. Die zu sichernden Tabellen können in der Konfiguration eingeschränkt werden.

Contao erstellt automatisch ein Backup, wenn eine Datenbank-Migration angestoßen wird. Ist dies nicht erwünscht, kann das --no-backup-Flag gesetzt werden.

Ressourcen: #3631

Maker-Bundle

Analog zum Symfony Maker-Bundle gibt es nun auch ein Contao Maker-Bundle, mit dem sich folgende Ressourcen anlegen lassen:

  • Inhaltselemente
  • DCA-Callbacks
  • Event-Listener
  • Frontend-Module
  • Hook-Listener

Ressourcen: #3615

SendNewsletterEvent

Das SendNewsletterEvent-Event wurde als Ersatz für den sendNewsletter-Hook hinzugefügt. Im Unterschied zum bestehenden Hook wird das Event vor dem Versenden ausgeführt, so dass nicht nur der Inhalt des Newsletters individuell angepasst werden kann, sondern das Versenden für einzelne Empfänger auch ganz übersprungen werden kann.

Ressourcen: #3489

Konstanten für DCA-Flags

Anstatt 'mode' => 4 kann man nun 'mode' => DataContainer::MODE_PARENT schreiben.

Ressourcen: #2892

Insert-Tag-Service

Der Service contao.insert_tag.parser erlaubt das Parsen von Insert-Tags. Zudem lassen sich die erlaubten Insert-Tags zukünftig konfigurieren.

Ressourcen: #3638, #3603

Service-Annotations

Service-Annotations können jetzt auch als PHP 8-Attribute geschrieben werden.

#[AsContentElement(category: "texts")]
class CustomElementController extends AbstractContentElementController
{
}

Ressourcen: #3619

DC_Table::toggle()

Der DC_Table wurde um eine toggle()-Methode erweitert, mit der ausgewählte Felder aktiviert oder deaktiviert werden können.

Ressourcen: #3889

Logger-Service

Ein neuer Logger-Service ermöglicht das einfache Schreiben von Log-Einträgen in das System-Log im Backend, ohne dass dazu ein Contao-Kontext angelegt werden muss. Dazu stellt Contao verschiedene Services bereit, unter anderem:

  • monolog.logger.contao.cron
  • monolog.logger.contao.error
  • monolog.logger.contao.files
  • monolog.logger.contao.general

Ressourcen: #3702

Cache-Tag-Service

Der neue Service contao.cache.entity_tags erlaubt es, der Response die notwendigen Cache-Tags mitzugeben, die für die automatische Invalidierung des Shared-Caches gebraucht werden.

class MyController
{
    private EntityCacheTags $entityCacheTags;

    public function __construct(EntityCacheTags $entityCacheTags)
    {
        $this->entityCacheTags = $entityCacheTags;
    }

    public function __invoke(): Response
    {
        // ...

        $this->entityCacheTags->tagWithModelInstance($page);

        return $response;
    }
}

Ressourcen: #3180

Eigene Backend-Controller

Eigene Backend-Controller können jetzt von der Klasse AbstractCustomBackendController erben und direkt mit dem Template be_main arbeiten.

Ressourcen: #3180

Insert-Tag-Twig-Funktionen

Die neuen Twig-Funktionen insert_tag und insert_tag_raw ermöglichen die Verarbeitung von Insert-Tags in Twig-Templates.

{{ '<br> {{br}}'|insert_tag }}
{{ '<br> {{br}}'|insert_tag_raw }}

Ressourcen: #3606

Virtuelles Dateisystem

Ein virtuelles Dateisystem auf der Basis von Flysystem wurde als neues, experimentelles Feature hinzugefügt. Standardmäßig werden die lokalen Dateisysteme contao.filesystem.virtual.backups und contao.filesystem.virtual.files gemountet; weitere VFS können hinzugefügt werden.

Ressourcen: #3774

Und einiges mehr

Eine Übersicht der weiteren Änderungen findet ihr im Changelog.

Ein besonderer Dank geht an dieser Stelle an das Doku-Team und alle Helfer, die bereits vor dem Release von Contao 4.13.0 nahezu alle neuen Funktionen dokumentiert hatten. Ihr rockt!

Kompatibilität

Contao 4.13 ist mit Symfony 5.4, PHP 7.4+ und Doctrine 3 kompatibel.

Siehe auch: Tickets | Versionsvergleich | Changelog

Alle News anzeigen

Kommentare

Einen Kommentar schreiben

Was ist die Summe aus 4 und 8?