DCA/Sprachdateien werden nicht geladen - trotz korrekter Struktur
Hallo liebe Contao-Community,
ich stehe vor einem hartnäckigen Problem bei der Entwicklung eines Contao 5 Bundles und hoffe, dass jemand von euch bereits eine ähnliche Erfahrung gemacht hat.
Problem:
Mein Bundle (FSJ-Einsatzstellen-System) ist grundsätzlich funktionsfähig - die Frontend-Controller werden korrekt registriert und funktionieren. Aber: Die DCA- und Sprachdateien werden nicht geladen,
wodurch im Backend die Module-Labels als technische Namen erscheinen und keine Konfigurationsfelder verfügbar sind.
Bundle-Setup:
vendor/kjr-ort/contao-locations-bundle/
??? composer.json
??? src/
? ??? KjrOrtContaoLocationsBundle.php
? ??? ContaoManager/
? ? ??? Plugin.php
? ??? Controller/FrontendModule/
? ? ??? LocationListController.php (mit #[AsFrontendModule(type: 'location_list')])
? ? ??? ...weitere Controller
? ??? Resources/contao/
? ??? dca/tl_module.php
? ??? languages/de/tl_module.php
Composer.json (relevant):
{
"name": "kjr-ort/contao-locations-bundle",
"type": "contao-bundle",
"autoload": {
"psr-4": {
"KjrOrt\\ContaoLocationsBundle\": "src/"
},
"classmap": [
"src/Resources/contao/"
]
},
"extra": {
"contao-manager-plugin": "KjrOrt\\ContaoLocationsBundle\\ContaoManager\\Plu gin"
}
}
Was funktioniert:
- ? Frontend-Controller werden registriert (debug:container --tag=contao.frontend_module)
- ? Bundle Plugin ist in vendor/contao/manager-plugin/.generated/plugins.php enthalten
- ? Services sind verfügbar
Was nicht funktioniert:
- ? DCA-Paletten werden nicht geladen (nicht in var/cache/dev/contao/dca/tl_module.php)
- ? Sprachstrings werden nicht geladen (nicht in var/cache/dev/contao/languages/de/tl_module.php)
- ? Module erscheinen im Backend als technische Namen ohne Konfigurationsfelder
Was ich bereits versucht habe:
- Bundle sowohl in src/ als auch in vendor/ getestet
- Verschiedene Autoload-Konfigurationen (mit/ohne classmap, exclude-from-classmap)
- Cache mehrfach geleert, composer dump-autoload
- Vergleich mit anderen Bundles (oveleon/contao-cookiebar, madeyourday/contao-rocksolid-custom-elements)
- Explizite Type-Namen in #[AsFrontendModule] gesetzt
- Bundle-Struktur von contao/ auf src/Resources/contao/ umgestellt
Interessante Beobachtung:
Hab zwar nur eine Vermutug, aber stimmt es, dass DCA-Dateien zur Laufzeit geladen werden, nicht gecacht?
Fragen:
1. Übersehe ich etwas Grundlegendes bei der Bundle-Konfiguration für Contao 5?
2. Gibt es spezielle Requirements für das DCA-Loading in lokalen/vendor Bundles?
3. Hat jemand ein funktionierendes Beispiel für ein Contao 5 Bundle mit tl_module DCA-Erweiterungen?
Ich entwickle das Bundle lokal und es läuft in einem Docker-Container mit Contao 5.7. Bin zuvor nach diesem Artikel vorgegangen: https://webinteger.dev/blog/contao-5...up-architektur
Für jeden Hinweis oder Erfahrungsbericht bin ich sehr dankbar! Bin Frontend-Entwickler und wage mich langsam auch zur Backend-Entwicklung vor. Entschuldigt mir daher manche Fragen, bin im Backend noch Anfänger.
Viele Grüße aus München,
Andi