Contao-News

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

Contao 3.1.beta1 verfügbar

von Leo Feyer – Ankündigungen

Contao Version 3.1.beta1 ist verfügbar. Verwenden Sie Beta-Versionen nicht für produktive Webseiten! Laden Sie das Release herunter, um zu prüfen, ob Ihre Webseite oder Erweiterung angepasst werden muss.

Nachfolgend sind einige der Highlights der neuen Version genannt. Eine vollständige Liste finden Sie im Changelog bzw. in den geschlossenen Tickets des Release (siehe die Links am Ende der Ankündigung).

Sprachen und Dialekte

In Contao 3.1 werden Dialekte wie z.B. de-CH unterstützt. Diese können sowohl in den Einstellungen einer Website-Startseite als auch als Gebietsschema (dann werden sie de_CH geschrieben!) bei der Übersetzung des Systems verwendet werden.

Drag und Drop fast überall

Kennen Sie die beiden kleinen Pfeile, mit denen sich z.B. im Inhaltselement "Aufzählung" oder im Seitenlayout per Klick Elemente nach oben oder unten schieben lassen? Diese gibt es in Contao 3.1 nicht mehr; sie wurden durch ein Icon ersetzt, mit dem sich die Elemente per Drag und Drop verschieben lassen.

Inhaltselemente-Slider

Ein universeller Inhaltselement-Slider auf Basis von swipe.js wurde hinzugefügt und kann ähnlich wie das Akkordeon-Element verwendet werden: ein Start- und Stopelement umschließen die Inhaltselemente des Sliders und ein "moo_"- bzw. "j_"-Template, das im Seitenlayout eingefügt wird, initialisiert das Skript.

Der Slider unterstützt Wischgesten auf Tablets und mobilen Endgeräten.

Zugriffsschutz für Artikel

In Contao 3.1 können nicht nur Seiten und Inhaltselemente, sondern auch Artikel geschützt werden, so dass nur bestimmte Mitgliedergruppen im Frontend darauf zugreifen können.

TinyMCE Link- und Bilddialog

Wenn in TinyMCE Seiten oder Bilder ausgewählt werden, nutzt das System nun den Contao Seiten- bzw. Dateiwähler anstatt des TinyMCE-Dropdown-Menüs.

Domain-bewusste Navigationsmodule

Zeigte bisher eine Weiterleitungs- oder Referenzseite oder ein Link-Inserttag auf eine Seite in der Seitenstruktur, die zu einem anderen Website-Startpunkt mit einer anderen Domain gehörte, endete der Link in einem 404er-Fehler, weil Contao die Seite unter der aktuellen Domain zu öffnen versuchte. In Contao 3.1 berücksichtigen diese Ressourcen die Domain und leiten zur richtigen Domain, Sprache und Seite weiter.

Modul-Abhängigkeiten

In Contao 3.1 können Module andere Module in ihrer autoload.ini-Datei als Abhängigkeit definieren. Diese Abhängigkeiten bestimmen dann die Reihenfolge, in der die Module geladen werden. Workarounds wie z.B. die Benennung "zzz_custom" werden dardurch überflüssig.

Inserttag-Flags

Inserttags unterstützen jetzt Flags, um z.B. die Ausgabe an eine PHP-Funktion weiterzugeben.

  • {{ua::browser|uncached}}
  • {{page::title|decodeEntities|strtoupper}}

Momentan unterstütze Flags:

  • uncached: erhält das Tag beim Schreiben der Cache-Datei
  • refresh: erstellt die Ausgabe bei jeder Anfrage neu
  • addslashes: fügt bestimmten Zeichen ein "\" hinzu
  • stripslashes: entfernt das "\" vor bestimmten Zeichen
  • standardize: standardisiert die Ausgabe
  • ampersand: wandelt Und-Zeichen in Entities um
  • specialchars: wandelt Sonderzeichen in Entities um
  • nl2br: ersetzt Zeilenumbrüche durch <br>
  • nl2br_pre: erhält die Zeilenumbrüche innerhalb von <pre>-Tags
  • strtolower: wandelt die Ausgabe in Kleinbuchstaben um
  • utf8_strtolower: Unicode-bewusste Umwandlung in Kleinbuchstaben
  • strtoupper: wandelt die Ausgabe in Großbuchstaben um
  • utf8_strtoupper: Unicode-bewusste Umwandlung in Großbuchstaben
  • ucfirst: wandelt das erste Zeichen in einen Großbuchstaben um
  • lcfirst: wandelt das erste Zeichen in einen Kleinbuchstaben um
  • ucwords: wandelt das erste Zeichen jedes Wortes in einen Großbuchstaben um
  • trim: entfernt Leerzeichen vom Anfang und Ende der Ausgabe
  • rtrim: entfernt Leerzeichen vom Anfang der Ausgabe
  • ltrim: entfernt Leerzeichen vom Ende der Ausgabe
  • utf8_romanize: romanisiert die Ausgabe
  • strrev: dreht die Ausgabe um
  • encodeEmail: kodiert E-Mail-Adressen in der Ausgabe
  • decodeEntities: dekodiert Entities in der Ausgabe
  • number_format: formatiert eine Zahl (System::getFormattedNumber())
  • currency_format: formatiert eine Währung (System::getFormattedNumber())
  • readable_size: wandelt die Ausgabe in ein Menschenlesbares Format um

Verbesserung des Dateisystems

Das Datenbank-gestützte Dateisystem (DBAFS) wurde in vielen Teilen verbessert, um es Anwenderfreundlich und stabiler zu machen.

  • Der Dateiwähler zeigt nun das Dateisystem anstatt der Datenbank
  • Vom Dateiwähler aus kann man direkt innerhalb des Popups den Dateimanager aufrufen
  • Der Dateiwähler fügt die ausgewählten Ressourcen direkt zur Datenbank hinzu

Das bedeutet, dass eine manuell Synchronisation des Dateisystems nicht mehr notwendig ist.

  • Ein Navigationpfad erlaubt die Anzeige von Teilbäumen des Seiten- und Dateiwählers
  • md5_file() wird nicht mehr auf Dateien angewandt, die größer als 2 GB sind
  • Der Hash eines Ordners wird nun anhand der Dateinamen anstatt deren Hashes gebildet
  • Alle DBAFS-bezogenen Routinen wurden in der Klasse Dbafs zentralisiert
  • Reguläre Benutzer können nun das Recht zur Synchronisation des Dateisystems erhalten

Neue Hooks in Version 3.1

  • parseWidget: wird aufgerufen, wenn ein Widget geparst wird.
  • getPageLayout: wird aufgerufen, nachdem das Layout-Objekt initialisiert wurde.
  • modifyFrontendPage: wird unmittelbar vor der Ausgabe eines Frontend-Templates aufgerufen.

Der Unterschied zwischen dem modifyFrontendPage-Hook und dem outputFrontendPage-Hook ist, dass die Inserttags und die dynamischen Skripttags bereits ersetzt wurden, wenn der modifyFrontendPage-Hook ausgeführt wird.

Alle News anzeigen

Kommentare

Einen Kommentar schreiben

Was ist die Summe aus 6 und 6?