Erste Komponenten als Alpha-Version für Contao 4 verfügbar
von David Molineus
Erste Komponenten als Alpha-Version für Contao 4 verfügbar
Inzwischen ist mit Contao 4.4 die nächste LTS von Contao veröffentlicht worden. Wie bereits angekündigt wird an einer Version 2 der Contao-Bootstrap Erweiterung gearbeitet. Inzwischen stehen die ersten Komponenten als Alpha-Version zur Verfügung. Auch wenn ein stabiles Release von Bootstrap 4 noch auf sich warten lässt, setzt die Erweiterung zukünftig auf Bootstrap 4.
In diesem Beitrag werde ich über den aktuellen Stand informieren und einen Ausblick auf die kommenden Pakete geben.
Verfügbare Pakete
core
Der core ist das Herzstück der Contao-Bootstrap Erweiterung. Er stellt anderen Erweiterungen einige Basisfunktionen, wie das Konfigurationssystem zur Verfügung. Die Änderungen dieses Pakets fanden in erster Linie im Hintergrund statt und betreffen daher eher andere Entwickler als Anwender:
- Dependency Injection über Symfony (Abhängigkeit zu contao-community-alliance/dependency-container entfernt)
- Nutzung des Symfony-Event Dispatchers (Abhängigkeit zu contao-community-alliance/event-dispatcher entfernt)
- Konfiguration funktioniert nur über yml-Dateien, werden damit gecacht und nicht jedes Mal neu aus dem Dateisystem geladen
- Überarbeitung des Template-Modifier Systems
- Die Konfiguration im Backend ist nun Teil des Themes und erscheint daher nicht mehr in der linken Navigation
Wird noch überarbeitet:
- Hilfsklassen für Wrapper-Elemente
layout
Die Komponente layout erweitert die Contao-Funktion Layout dahingehend, dass die Layoutspalten mittels Klassen definiert werden können. Außerdem ist es möglich die Position der Container-Klasse zu definieren. Der Funktionsumfang ist identisch mit dem, was auch unter Contao 3.5 möglich war.
- Nutzung des aktuellen fe_page Templates von Contao 4 als Basis der fe_bootstrap
- Abhängigkeit zu contao-flexible-sections entfernt. Contao 4 bietet das Feature nun selbst.
navbar
Neu hinzugekommen ist das Paket navbar. Dieses bringt das Modul für die Navigationsleiste mit, das in der vorherigen Version Bestandteil der Komponente navigation war.
- Modizierung der navbar, sodass es mit Bootstrap 4 funktioniert.
- Position einzelner Module muss nun über die Eingabe von Klassen erfolgen
- Auswahl der Größe für das Responsive-Verhaltens möglich
- Unterstützung des Navigations-Moduls mit einem Template nav_navbar
Folgende Punkte können sich noch ändern:
- Bearbeitung von navbar-brand flexibler gestalten (nicht nur Template-Auswahl)
- Unterstützung von Seiten als Ordnern wie unter Version 1 wieder hinzufügen
Installation
Die Komponenten lassen sich prinzipiell über den Contao-Manager installieren. Dazu reicht es folgende Pakete zu installieren:
- contao-bootstrap/layout
- contao-bootstrap/navbar
Bei beiden ist als Version "~2.0.0@alpha" einzugeben.
Der core wird automatisch installiert. Das Bundle ist derzeit nicht über den Contao Manager installierbar. Über composer require lässt sich das Bundle schon installieren. Allerdings muss dazu die minimale Stabilität in der globalen composer.json heruntergesetzt werden.
Tester gesucht
Um eine rasche Entwicklung zu garantieren, suche ich Tester, die sich mit den bereits zur Verfügung gestellten Paketen auseinander setzen und das gesamte unter folgenden Aspekt testen:
- Installation unter Contao 4.4
- Ausprobieren der Funktionen auf Fehlerfreiheit Vollständigkeit
- Überprüfung der Template-Syntax
Fehlermeldungen dazu bitte unter den jeweiligen Repositories in Github posten.
Ausblick
Nächste Komponenten
Als nächste Komponenten wird die Grid-Erweiterung überarbeitet und danach folgt die Formular Komponente.
Das Grid-System wird dabei einige Änderungen erfahren:
- Nutzung eigener Inhaltselemente/Module/Formular-Elemente anstatt auf Dritterweiterungen zu setzen
- Begrenzung auf eine fixe Anzahl von Spalten wird aufgehoben. Anlegen verschiedener Muster (z.B. 3 Spalten lg, 2 Spalten md, 1 Spalte xs) wird möglich und kann für eine beliebige Spaltenanzahl angewandt werden.
Kompatibilität von Version 1 und Contao 4
Über eine Anpassung der bestehenden Version 1 für eine Contao 4 Kompatibilität habe ich noch nicht final entschieden. Die erforderlichen Abhängigkeiten werden derzeit zum Teil schon angepasst.
Außerdem prüfe ich noch den zusätzlichen Aufwand, der durch Inkompatibilitäten entsteht. Fest steht für mich jedoch bereits jetzt, dass eine Bereitstellung für Contao 4 nur bei Bedarf und finanzielle Unterstützung durch die Community erfolgen wird. Sobald hier eine Entscheidung getroffen wird, gebe ich diese bekannt.