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.
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
Kommentare
Einen Kommentar schreiben