Version 3 für Bootstrap 5 und Contao 5 Support verfügbar! Jetzt am Early-Adopter-Programm teilnehmen.

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.