Contao 4: Erweiterung als Bundle

von Patrick Froch (Kommentare: 0)

In der Artikelserie über Contao 4 möchte ich meine Erfahrungen im Umgang mit Contao 4 teilen. Es handelt sich nicht um hundertfach erprobte Vorgehensweisen, die ich genau begründen kann, sondern um die Dinge, die ich mir zusammengesucht und ausprobiert habe. Für vieles gibt es vermutlich bessere Wege. Wenn Euch also etwas auffällt, gebt mir Bescheid.

Ich gehe davon aus, dass Contao richtig installiert ist und funktioniert.

Wir wollen also nun ein Symfony-Bundle erstellen, welches mit Cotnao kompatible ist und als Erweiterung erkannt wird. Wie ein Symfony-Bundle aufgebaut ist habe ich vor einiger Zeit im Artikel "Symfony2: Bundle anlegen" beschrieben. Auf die Verzeichnisstruktur bin ich unter anderem im Artikel "Symfony2: Verzeichnisstruktur" noch einmal eingegangen. Grundsätzlich schadet es dem Verständnis nicht, wenn man die Symfony-Artikel kennt, auch wenn diese schon etwas älter sind und in Teilen nicht mehr ganz aktuell.

Vorbereitung

Als erstes legen wir die Ordnerstruktur an. Die Bundles liegen in Contao 4 unter TL_ROOT/src. Dort wird ein Ordner mit dem Namspace (Acme) erstellt und darin einer mit dem Bundle (TestBundle).

Nun wird das Bundle in app/AppKernel.php registriert:

Entwicklung der Erweiterung

Nun können wir fast wie gewohnt unsere Contao-Erweiterung entwickeln, nur dass die Contao-Dateien im Bundle unter Resources/contao liegen. Ich erstelle einfach ein kleines Inhaltselement, dass einen Text ausgibt. Es wird nur das nötigste erstellt. Wer mehr über die Erstellung eines Inhaltselements wissen möchte, wird im Artikel "Contao: Ein eigenes Inhaltselement" fündig.

Konfiguration

Template

Inhaltselement

Das wars auch schon. Nun sollte unser Text ausgegeben werden. Dieses Modul ist zu­ge­ge­be­ner­ma­ßen ziemlich nutzlos und sinnfrei. Aber zum Erläutern der Beziehung zwischen Contao und Symfony sollte es reichen. Nun kann man viele tolle Sachen machen und die Symfony-Tools einsetzen. Auf diese Dinge gehe ich in weiteren Artikeln ein.

Zurück

Einen Kommentar schreiben