Ergebnis 1 bis 13 von 13

Thema: Options Callback wird im Debugmodus nicht ausgeführt

  1. #1
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Frage Options Callback wird im Debugmodus nicht ausgeführt

    Hallo zusammen,

    ich habe folgenden Options Callback Listener:

    "group_select" ist mein eigenes Feld aus der DCA

    PHP-Code:
    <?php

    namespace App\Eventlistener;

    use 
    Contao\CoreBundle\Util\LocaleUtil;
    use 
    Contao\CoreBundle\ServiceAnnotation\Callback;
    use 
    Symfony\Component\HttpFoundation\RequestStack;

    /**
     * @Callback(table="tl_member", target="fields.group_select.options")
     */
    class OptionsCallbackListener {

        private 
    $requestStack;

        public function 
    __construct(RequestStack $requestStack)
        {

            
    $this->requestStack $requestStack;
        }

        public function 
    __invoke($dc)
        {
            return [
    'option1''option2'];
        }
    }
    Der Controller wird über autowire registriert:

    Code:
    services:
      _defaults:
        autowire: true
        autoconfigure: true
    Im Production Mode funktioniert alles super, im Debug Modus wird der Listener auch nach mehrfachem Cache löschen nicht ausgeführt. Auch einfache dump Ausgaben funktionieren nicht, weder im Frontend noch im Backend.
    Der Fehler tritt erst nach Update von 4.9 auf 4.13 auf.

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

    Standard

    Um welches Frontend Modul geht es?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    ModuleRegistration. Aber das ist nicht das Problem. Auch wenn ich das Feld im Backend in der DCA ausgebe, werden im Debugmodus keine Options ausgegeben.

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

    Standard

    Führe mal
    Code:
    vendor/bin/contao-console debug:container OptionsCallbackListener --env=dev
    aus und poste die Ausgabe.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    Okay No services found that match "OptionsCallbackListener". Aber warum? Was kann das Problem sein?

    Im Production Mode ist der Service registriert.

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

    Standard

    Wie lautet der exakte Pfad zur Datei?
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    src/Eventlistener

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

    Standard

    Der gesamte Pfad
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    src/Eventlistener/OptionsCallbackListener.php

    direkt im Contao Root

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

    Standard

    Und Eventlistener hast du wirklich mit kleinem 'L' geschrieben, sowohl im physischen Pfad als auch in der Namespace Angabe in der Datei? Üblicherweise schreibt man EventListener - ist aber grundsätzlich egal, sofern alles konsistent ist.
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    Ja, habe ich. Wie gesagt, im Prod Modus funktioniert alles, auch nach mehrmaligem Cache leeren. Nur im Dev Modus nicht. Daher ja meine Vermutung, ob es ein Bug in der 4.13 ist.

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

    Standard

    Einen generellen Fehler in Contao 4.13 kann ich nicht feststellen. Mit den von dir zur Verfügung gestellten Angaben funktioniert es bei mir:
    Code:
    $ vendor/bin/contao-console debug:container OptionsCallbackListener --env=dev
    
    Information for Service "App\Eventlistener\OptionsCallbackListener"
    ===================================================================
    
     ---------------- -------------------------------------------------------------------------
      Option           Value
     ---------------- -------------------------------------------------------------------------
      Service ID       App\Eventlistener\OptionsCallbackListener
      Class            App\Eventlistener\OptionsCallbackListener
      Tags             contao.callback (table: tl_member, target: fields.group_select.options)
      Public           yes
      Synthetic        no
      Lazy             no
      Shared           yes
      Abstract         no
      Autowired        yes
      Autoconfigured   yes
     ---------------- -------------------------------------------------------------------------
    » sponsor me via GitHub or PayPal or Revolut

  13. #13
    Contao-Nutzer
    Registriert seit
    09.09.2015.
    Beiträge
    88

    Standard

    Okay, Fehler gefunden. Ein anderer Listener hatte im namespace "EventListener" stehen, das hat im Debugmodus für den Fehler gesorgt.

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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