Contao-Camp 2024
Ergebnis 1 bis 13 von 13

Thema: Eigene Config-Parameter

  1. #1
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard Eigene Config-Parameter

    Hallo,

    ich binde gerade in mein Contao die API von All-Inkl ein. Konkret: Sobald ein FE-Benutzer angelegt wird, soll dazu auch eine EMail-Weiterleitung angelegt werden.
    Jetzt ist meine Frage wo ich meine Config-Daten wie API-User und Passwort hinterlegen kann.

    Wenn ich das richtig verstanden habe, kann ich config/parameters.yml erweitern, oder?

    Also sowas wie:

    Code:
    parameters:
        api-user: 123
        api-pass: ABC
    Und wir kann ich dann innerhalb meine oncreate Callback verwenden?

  2. #2
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Als Dependency Injection:

    PHP-Code:
    <?php

    class MemberOncreateCallbackListener
    {
        private 
    $user;
        private 
    $pass;

        public function 
    __construct(string $userstring $pass)
        {
            
    $this->user $user;
            
    $this->pass $pass;
        }
    }
    In deiner service.yaml
    Code:
    services:
        ...
        EventListener/DataContainer/MemberOncreateCallbackListener:
            arguments:
                - %api-user%
                - %api-pass%
    https://symfony.com/doc/current/serv...ice-parameters
    Tastaturberuf | Code with ♥ and Contao.

  3. #3
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Hm, klappt nicht so ganz. Das endet in:

    Code:
    Cannot autowire service "App\EventListener\DataContainer\MemberOncreateCall  
      backListener": argument "$user" of method "__construct()" is type-hinted "s  
      tring", you should configure its value explicitly.
    In der Fehlermeldung steht service "App\EventListener\DataContainer\MemberOncreateCal lbackListener"

    und du hast

    EventListener/DataContainer/MemberOncreateCallbackListener

    Kann es sein, dass er die Argumente aus der service.yml nicht findet?

  4. #4
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Das der Fehler sich immer klärt, nachdem ich geschrieben habe

    Ich hatte die Datei service.yml und nicht services.yml erstellt

  5. #5
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Ok, es führ jetzt zu dieser Meldung:

    Code:
    $ /bin/php74 -q -dmax_execution_time=0 -dmemory_limit=-1 -dallow_url_fopen=1 -ddisable_functions= -ddate.timezone=Europe/Berlin .../contao-dev/vendor/contao/manager-bundle/bin/contao-console cache:clear --env=dev --no-warmup
    In YamlFileLoader.php line 207:
                                                                                   
      The "services" key should contain an array in "/www/htdocs/.../contao-dev/config/services.yml". Check your YAML syntax.         
                                                                                   
    # Process terminated with exit code 1
    # Result: General error
    Damit komme ich jetzt aber nicht mehr weiter...

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

    Standard

    Deine services.yaml ist nicht korrekt, wie die Fehlermeldung schon sagt. Um dir sagen zu können, was in deiner services.yaml nicht richtig ist, musst du den Inhalt deiner services.yaml hier posten.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    meine services.yml:

    Code:
    services:
        App/EventListener/DataContainer/MemberOncreateCallbackListener
            arguments:
                - %kas_auth_data%
                - %kas_login%
    und dazu die parameters.yml

    Code:
    parameters:
        ...
        kas_auth_data: ABC
        kas_login: A123
    Geändert von darkness (16.04.2021 um 13:45 Uhr)

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

    Standard

    Dir fehlt ein Doppelpunkt bei deinem Service.
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Oh man... Danke.

    läuft.

    Noch eine Frage zu config.oncreate.

    Wenn ich das jetzt richtig sehe, wir oncreate ausgeführt, sobald ich auf den Button "neu" drücke. Für mich bedeutet das, das der API-Aufruf da noch keinen Sinn macht, da ich ja die Daten wie Name und EMail noch gar nicht habe. Ich brauche dann wohl eher config.onsubmit, oder?

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

    Standard

    Hm, sollte eigentlich nicht so sein. Der Callback übergibt dir die ID des neuen Eintrags und die Daten der Felder.
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Die ID bekomme ich. Bzw. Der DB-Eintrag wird erzeugt. Danach sehe ich erst das Formular zur Dateneingabe.
    screenshot.png
    Geändert von darkness (16.04.2021 um 15:32 Uhr)

  12. #12
    Contao-Nutzer
    Registriert seit
    18.06.2017.
    Beiträge
    219

    Standard

    Also ich habe noch mal geschaut.

    Wenn ich auf Mitglieder klicke und dann auf "Neu" wird der CallBack ausgeführt. Dann habe ich im Profiler auch ein dump der leeren Daten. Es gibt nur eine ID. Dieser Eintrag wird auch in der DB angelegt. Siehe Screenshot oben (hatte ursprünglich versehentlich den falschen angehangen).

    Ist das jetzt ein Fehler bei mir oder von Contao?

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

    Standard

    Hm, nein ich denke du brauchst doch den onsubmit Callback
    » sponsor me via GitHub or PayPal or Revolut

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
  •