Ergebnis 1 bis 4 von 4

Thema: DCA/Sprachdateien werden nicht geladen - trotz korrekter Struktur

  1. #1
    Contao-Nutzer
    Registriert seit
    09.11.2011.
    Beiträge
    52

    Standard 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

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    38.636
    Partner-ID
    10107

    Standard

    Zitat Zitat von ke-an Beitrag anzeigen
    Bin zuvor nach diesem Artikel vorgegangen: https://webinteger.dev/blog/contao-5...up-architektur
    Der Artikel enthält zumindest einen Fehler: in dem Artikel wird dir die alte Bundle-Dateistruktur vorgegeben - aber in der Bundle Klasse wird dann die neue verwendet. Daher wird dann auch alles, was sich in src/Resources/contao/ befindet nicht geladen.

    Ist dein Ziel eine Applikations-Anpassung oder tatsächlich ein Re-usable Bundle?
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    09.11.2011.
    Beiträge
    52

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Der Artikel enthält zumindest einen Fehler: in dem Artikel wird dir die alte Bundle-Dateistruktur vorgegeben - aber in der Bundle Klasse wird dann die neue verwendet. Daher wird dann auch alles, was sich in src/Resources/contao/ befindet nicht geladen.

    Ist dein Ziel eine Applikations-Anpassung oder tatsächlich ein Re-usable Bundle?

    Hi Spooky,

    vielen Dank für dein Feedback! Tatsächlich war die Dateistruktur das Problem.
    Hab die notwendigen Files verschoben in ->

    src
    -- contao-location-bundle
    ----- contao

    (Arbeite für die Entwicklung noch im src-Folder, erst später soll es ein Vendor-Bundle werden)

    Verzeih mir meine etwas doofe Frage: wie müsste denn die neue Dateistruktur sein für Contao 5.7?
    Hab versucht so gut es geht überall zu recherchieren, bin aber hier und da auf unterschiedliche Infos gestoßen.
    (Vermutlich Versionsunterschiede)

    Ziel ist ein Bundle bzw. eine Contao-Erweiterung, die auch in anderen Projekten eingesetzt werden könnte. :-)

    Ganz lieben Dank dir nochmal für dein Feedback!


    Andi

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    38.636
    Partner-ID
    10107

    Standard

    Zitat Zitat von ke-an Beitrag anzeigen
    Verzeih mir meine etwas doofe Frage: wie müsste denn die neue Dateistruktur sein für Contao 5.7?
    Mit der Contao Version hat das nichts zu tun, nur mit der Symfony Version bzw. wie dein Bundle eingestellt ist. Siehe zB:

    » sponsor me via GitHub or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •