Contao-News
Wir informieren Dich hier regelmäßig zu Updates, stellen Best-Practice-Arbeiten vor und berichten über Aktuelles aus dem Contaoversum.
Contao 4.7.0 verfügbar
von Leo Feyer – Ankündigungen
Contao Version 4.7.0 ist verfügbar. Das Release enthält neue Features wie z.B. native Fonts im Backend, Drag und Drop im Template-Editor, einen Opt-In-Service, eine verbesserte Frontend-Preview-Bar, weitere SEO-Einstellungen für News und Events und einiges mehr.
Native Fonts im Backend #98
In Contao 4.7 kommt im Backend kein Webfont mehr zum Einsatz, sondern die jeweilige Systemschrift des verwendeten Betriebsystems. Dadurch werden zum einen Anzeigefehler im Zusammenhang mit der Schriftenglättung behoben, und zum anderen verbessert sich die optische Integration von Contao in das System.
Drag und Drop im Template-Editor #223
Wie zuvor bereits im Dateimanager, hat Martin in Contao 4.7 Drag und Drop auch im Template-Editor implementiert. Templates können nun durch Ziehen in einen Ordner verschoben werden.
Opt-In-Service #196
Um Double Opt-In-Vorgänge besser nachvollziehen zu können, werden diese in Contao 4.7 zentral aufgelistet und für die Dauer der gesetzlichen Nachweispflicht gespeichert. Der Opt-In-Service kann auch in eigenen Bundles genutzt werden.
Frontend-Preview-Bar #1640
Yanick hat die Frontend-Preview-Bar in Contao 4.7 erweitert, so dass der Titel und die URL der jeweiligen Seite angezeigt werden.
Nachrichtenleser im Listenmodul #39
Um analog zum Modul "Nachrichtenarchiv" auch im Modul "Nachrichtenliste" einen Nachrichtenleser verknüpfen zu können, hat Fritz hat das Modul "Nachrichtenliste" in Contao 4.7 entsprechend angepasst.
SEO-Einstellungen für News und Events #161
Dank Patrick Froch's Einsatz auf dem Contao Camp in Leipzig, könnt ihr in Contao 4.7 den Seitentitel und die Seitenbeschreibung pro News bzw. Event überschreiben.
2FA-Einrichtung mittels Text-Schlüssel #86
Für den Fall, dass jemand den QR-Code bei der Einrichtung der 2-Faktor-Authentifizierung nicht scannen kann, hat Dave die Möglichkeit nachgerüstet, die Einrichtung mit einem Text-Schlüssel abzuschließen.
Automatische HTTPS-Umleitung #283
Dank Andreas' Umbau des Routings auf dem Symfony CMF-Router, werden Besucher, die die Webseite per HTTP aufrufen, in Contao 4.7 automatisch auf HTTPS weitergeleitet, wenn die entsprechende Option in den Seiteneinstellungen aktiviert ist.
Sprachauswahl im Meta-Editor #6254
Im Meta-Editor in der Dateiverwaltung werden zukünftig alle in der Seitenstruktur angelegten Sprachen automatisch aktiviert und müssen nicht mehr einzeln hinzugefügt werden.
Wiederholte Events #175
Der Text bei der Ausgabe eines wiederholten Events im Frontend wurde angepasst, damit klarer wird, in welchen Abständen sich das Event wiederholt und wann es das nächste Mal stattfindet.
Verschlankung der Systemeinstellungen #203
Wie auf dem Contao-Camp in Leipzig besprochen, sollen die Systemeinstellungen im Backend sukzessive verschlankt werden. In Contao 4.7 wurden im ersten Schritt folgende Einstellungen entfernt:
- Skripte komprimieren: entfallen
- Unterstützte Templateformate: entfallen, es wird nur noch
.html5
unterstützt - Zeichensatz: kein Eingabefeld mehr, kann jedoch weiterhin in der Datei
config.yml
oderlocalconfig.php
geändert werden - Speicherzeiten: kein Eingabefeld mehr, kann jedoch weiterhin in der Datei
config.yml
oderlocalconfig.php
geändert werden - SSL-Proxy-Domain: kein Eingabefeld mehr, kann jedoch weiterhin in der Datei
config.yml
oderlocalconfig.php
geändert werden - Datei-URL/Assets-URL: im Backend entfallen, in der Seitenstruktur weiterhin vorhanden
- Titel der Webseite: im Backend entfallen, in der Seitenstruktur weiterhin vorhanden
- Editierbare Dateien: kein Eingabefeld mehr, kann jedoch weiterhin in der Datei
config.yml
oderlocalconfig.php
geändert werden - Auto_item aktivieren: kein Eingabefeld mehr, kann jedoch weiterhin in der Datei
config.yml
oderlocalconfig.php
geändert werden
Nicht zu synchronisierende Ordner #203
Die Möglichkeit, einen Ordner von der Synchronisation mit der Datenbank auszunehmen, wurde in Contao 4.7 von den Systemeinstellungen in den Dateimanager verschoben.
Markup komprimieren #203
Die Möglichkeit, das HTML-Markup der Webseite im Frontend zu komprimieren, wurde in Contao 4.7 von den Systemeinstellungen in das Seitenlayout verschoben.
Downloads im Browser anzeigen #20
Dennis Patzer hat die Download-Elemente erweitert, so dass Downloads in Contao 4.7 wahlweise den "Speichern unter…"-Dialog öffnen oder direkt im Browser angezeigt werden.
Kommentare von Mitgliedern #7
Dank Moritz Vondano's Anpassungen im Comments-Bundle, können Kommentare in Contao 4.7 mit Mitgliedern verknüpft werden.
Warnung bei deaktivierten Cookies #134
Contao sichert Formulare durch eine Technik namens "Double Submit Cookie" gegen CSRF-Angriffe ab, daher können Formulare nicht abgeschickt werden, wenn Cookies im Browser deaktiviert wurden. Das neue Template js_nocookie.html5
, das im Seitenlayout aktiviert werden kann, gibt in diesem Fall eine entsprechende Warnung in jedem Formular aus.
Warnung bei Zugriff auf den Template-Editor #224
Da Contao-Templates PHP-Dateien sind, hat jeder Benutzer mit Zugriff auf den Template-Editor implizit die volle Kontrolle über das System. Contao 4.7 weist den Administrator daher in den Benutzereinstellungen darauf hin, wenn ein regulärer Benutzer auf den Template-Editor zugreifen darf.
Artikel als PDF exportieren #65
Da der PDF-Export von Artikeln nicht auf jeder Contao-Webseite gebraucht wird, wurde die Funktionalität in ein separates Bundle verschoben. Contao 4.7 enthält also standardmäßig kein TCPDF mehr, es kann aber jederzeit wieder hinzugefügt werden.
Slug-Service #222
Martin hat die Integration seines Slug-Generators weiter ausgebaut und einen Slug-Service hinzugefügt, der das automatische Generieren von Aliasen weiter vereinfacht.
$alias = $container->get('contao.slug')->generate($pageTitle, $pageId);
onshow_callback #235
Kamil Kuzminski hat einen neuen onshow_callback
im DCA hinzugefügt, der ausgeführt wird, wenn die Detailansicht eines Datensatzes aufgerufen wird.
contao.generate_symlinks-Event
Um eigene Logik bei der Erstellung von Symlinks ausführen zu können, wurde in Contao 4.7 das contao.generate_symlinks
-Event hinzugefügt.
Security-Voter für Backend-Benutzer #122
Andreas hat einen Security-Voter hinzugefügt, der die Einstellungen eines Backend-Benutzers ausliest.
// User has access to form ID 5
$authorizationChecker->isGranted('contao_user.forms', 5);
// User is allowed to access field "published" of table "tl_page"
$authorizationChecker->isGranted('contao_user.alexf', 'tl_page::published');
// Check access to folder
$authorizationChecker->isGranted('contao_user.filemounts', '/files/foo/bar');
Services als DCA-Callbacks taggen #39
Analog zum Taggen von Services als Hooks, hat Andreas das Taggen von Services als DCA-Callbacks in Contao 4.7 hinzugefügt.
Models mit Arrays initialisieren #121
Dank Andreas können Models in Contao 4.7 wahlweise mit einem Datenbank-Result oder einem Array initialisiert werden.
$data = [
'id' => 2,
'name' => 'Theo Test',
];
$model = new UserModel($data);
Ordner schützen #1601
Moritz Vondano hat die API zum Schützen von Ordnern um eine isUnprotected()
-Methode erweitert.
$folder = new Contao\Folder('/path/to/the/folder');
if ($folder->isUnprotected()) {
// the folder contains a .public file and will be available via HTTP
}
Routen im DCA verwenden #116
Andreas hat in Contao 4.7 die Möglichkeit geschaffen, Routen in DCA-Attributen zu verwenden.
$GLOBALS['TL_DCA']['tl_table']['list']['operations']['foo'] => [
'label' => &$GLOBALS['TL_LANG']['tl_table']['foo'],
// 'href' => 'key=foo',
'route' => 'my_bundle.custom_route',
'icon' => 'foo.svg'
];
PaletteManipulator::removeField() #1668
David Molineus hat den Palette-Manipulator um eine removeField()
-Methode ergänzt, mit der sich Felder aus Paletten entfernen lassen.
PaletteManipulator::create()
->removeField('published', 'publish_legend')
->addField('published', 'title_legend', PaletteManipulator::POSITION_APPEND)
->applyToPalette('default', 'tl_news')
;
Vorherige und zukünftige Termine #175
Mit den neu hinzugefügten Methoden getPastDates()
und getUpcomingDates()
lassen sich bei wiederholten Events im Template die vorherigen und die zukünftigen Termine abrufen.
ContaoFrameworkInterface #276
Das Interface ContaoFrameworkInterface
ist ab Contao 4.7 deprecated und sollte nicht mehr verwendet werden. Stattdessen sollte die konkrete Klasse ContaoFramework
verwendet werden.
class MyService
{
/**
* @var ContaoFramework
*/
private $framework;
public function __construct(ContaoFramework $framework)
{
$this->framework = $framework;
}
}
Und einiges mehr
Eine Übersicht der weiteren Änderungen findet ihr im Changelog.
Symfony-Kompatibilität
Contao 4.7 ist mit folgenden Symfony-Versionen kompatibel: 3.4, 4.1, 4.2
Hinweise zum Update
Wie bereits oben erwähnt, ist TCPDF ab Contao 4.7 nicht mehr Teil der Core-Distribution. Wenn ihr also die Funktion "Artikel als PDF exportieren" benötigt, müsst ihr das Paket contao/tcpdf-bundle
installieren; entweder im Contao Manager oder auf der Kommandozeile mittels composer require contao/tcpdf-bundle
.
Siehe auch: Tickets | Versionsvergleich | Changelog
Kommentare
Kommentar von Christian |
Wow! Das sind wieder mal viele neue Features.
Vielen Dank an das gesamte Team und alle die tatkräftig programmiert und getestet haben.
Kommentar von Nils |
Danke und weiter so.
Kommentar von Stefan D. |
Wie immer tolle Neuigkeiten und schöne neue Features bei größeren Contao Versionssprüngen. Da muss ich das Contao Core Team wirklich mal loben.
Kommentar von Robert Siegel |
Wahnsinn was Ihr da jedesmal voranbringt. Und ich freue mich zu sehen wieviel Wertschätzung in Eurer Arbeit mitgeht, einerseits endest Du so oft mit einem Danke Leo und dann räumst Du noch den Code auf, toll!
Ein herzliches Dankeschön an alle Beteiligten die dieses großartige CMS wachsen lassen!
Einen Kommentar schreiben