Ergebnis 1 bis 6 von 6

Thema: Content Routing in Bundle

  1. #1
    Contao-Nutzer
    Registriert seit
    16.12.2025.
    Beiträge
    3

    Standard Content Routing in Bundle

    Hallo!

    Ich bin gerade dabei, eine Erweiterung einer Contao-Installation in ein Bundle umzuschreiben und bin auf ein Problem mit Content Routing gestoßen.

    Wenn die Resolver-Klasse im Hauptprojekt abgelegt ist (unter src/Routing/OfferResolver.php), funktioniert alles wie gewohnt. Sobald ich den Resolver dann in meinem Bundle ablege (unter vendor/***/contao-offer-bundle/src/Routing/OfferResolver.php), wird er nicht mehr geladen/aufgerufen.

    Ich habe die registrierten Services mit php bin/console debug:container überprüft: die Resolver-Klasse wird registriert/scheint auf, wenn sie im Hauptprojektordner liegt - nicht aber, wenn sie im Bundle liegt.

    Folgende Schritte habe ich versucht:

    • Explizite Eingabe der Klasse in der services.yaml des Bundles
    • Annotation #[AutoconfigureTag('contao.content_url_resolver')] direkt in der Klasse


    Die namespaces und use-Befehle habe ich selbstverständlich alle ans Bundle angepasst.

    Übersehe ich hier irgendwas?

    Danke schonmal für die Hilfe!

    LG

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

    Standard

    Wenn der Service nicht auftaucht musst du eine Kette an Dingen prüfen. zB.:

    • Lässt du die Klasse in der composer.json des Bundles korrekt Autoloaden?
    • Wird die Klasse als Service registriert?
    • Wird deine Service-Registrierung überhaupt ausgeführt/eingebunden?
    • Wird dein Bundle überhaupt eingebunden?
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    16.12.2025.
    Beiträge
    3

    Standard

    Danke für die schnelle Antwort!

    1. Ich denke schon. Hier der Ausschnitt aus der composer.json des Bundles:

      Code:
      "autoload": {
          "psr-4": {
              "Hi1\\OfferBundle\\": "src/"
          }
      }
    2. Nein. Wie gesagt scheint der Service mit dem Befehl php bin/console debug:container nicht in der Liste der registrierten Services auf.
    3. Wie kann ich das überprüfen?
    4. Ja. Das Datenbankschema wird entsprechend der dca's im Bundle angepasst und auch sonst scheint alles so zu funktionieren, wie zu dem Zeitpunkt, als die Erweiterung noch direkt im Hauptprojekt war.

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

    Standard

    Zitat Zitat von holzKind Beitrag anzeigen
    Wie kann ich das überprüfen?
    Naja, wenn sonst alles funktioniert ist das Fehlen einer Fehlermeldung und das Fehlen des Service im Container ein Indiz dafür, dass deine Service Definitionen nicht geladen werden.
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    16.12.2025.
    Beiträge
    3

    Standard

    Ich hab' den 'Fehler' gefunden: ich habe in der Hauptklasse des Bundles, wie in der Doku beschrieben, 'AbstractBundle' extended. Ich habe dann testweise mal nur 'Bundle' extended, damit hat Contao das Bundle/den Service korrekt eingebunden/registriert.

    Ich weiß zwar immer noch nicht ganz, warum genau es mit dem AbstractBundle nicht funktioniert hat, aber zumindest läuft es jetzt

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

    Standard

    Wie hat deine Bundle Klasse ausgesehen vor der Änderung?
    » 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
  •