Ergebnis 1 bis 13 von 13

Thema: Hilfe bei Hook: updatePersonalData

  1. #1
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard Hilfe bei Hook: updatePersonalData

    Hi zusammen,
    ich würde gerne den updatePersonalData Hook einbauen, um Mitgliederdaten in unser Newslettersystem einzuspielen. Der Code für die Synchronisierung funktioniert auch schon, nur nicht im Kontext des Hooks.

    Ich habe folgendes in der Installation eingebaut:

    src/EventListener/UpdatePersonalDataListener.php
    PHP-Code:
    <?php

    namespace App\EventListener;
    use 
    Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
    use 
    Contao\Module;
    use 
    Contao\FrontendUser;

    class 
    UpdatePersonalDataListener
    {
        
    #[AsHook('updatePersonalData')]
        
    public function __invoke(FrontendUser $member, array $dataModule $module): void
        


    // Test ob Hook ausgeführt wird:
    \System::log('updatePersonalData Hook wurde ausgeführt.'.$variableXY__CLASS__.'::'.__FUNCTION__TL_GENERAL);


    ...
    Daten Import Skript... 

    }
    config/routes.yaml
    Code:
    app.meineAnwendung:
      resource: ../src/EventListener/UpdatePersonalDataListener.php
      type: annotation
    Leider scheint der Hook nicht wie in der Doku beschrieben, beim Ändern von Userdaten über das entsprechende FE Modul ausgelöst zu werden..

    Was mache ich hier falsch? Die Contao Version ist 4.13.23

  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

    Die routes.yaml brauchst du nicht (ist ja keine Route). Hast du den Symfony Application Cache neu aufgebaut?
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Danke für die Rückmeldung, ja den Cache habe ich neu aufbauen lassen.

  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

    Was ist die Ausgabe von
    Code:
    vendor/bin/contao-console debug:container UpdatePersonalDataListener
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Code:
    Composer detected issues in your platform:
    
    Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.33.
    
    PHP Fatal error:  Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.1.0". You are running 7.4.33. in /webseiten/website/vendor/composer/platform_check.php on line 24

    Hmm die Domain und der Contao Manager laufen allerdings auf php 8.1

    Wie kann das sein?

  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

    Du hast das Kommando vermutlich mit der falschen PHP Version aufgerufen. Du musst es mit dem richtigen PHP CLI aufrufen. Wie genau das geht hängt von deiner Hosting Umgebung ab.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Mit diesem Command haut es hin: /usr/bin/php81 vendor/bin/contao-console debug:container UpdatePersonalDataListener

    Ausgabe:
    Code:
    CRITICAL  [console] Error thrown while running command "debug:container UpdatePersonalDataListener". Message: "No services found that match "UpdatePersonalDataListener"." ["exception" => Symfony\Component\Console\Exception\InvalidArgumentException^ { …},"command" => "debug:container UpdatePersonalDataListener","message" => "No services found that match "UpdatePersonalDataListener"."]
    
                                                                  
      No services found that match "UpdatePersonalDataListener".  
                                                                  
    
    debug:container [--show-arguments] [--show-hidden] [--tag TAG] [--tags] [--parameter PARAMETER] [--parameters] [--types] [--env-var ENV-VAR] [--env-vars] [--format FORMAT] [--raw] [--deprecations] [--] [<name>]

  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

    Führe mal composer install aus, dann wieder debug:container
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Ist gemacht, hier die Ausgabe:

    Code:
     Error thrown while running command "debug:container UpdatePersonalDataListener". Message: "No services found that match "UpdatePersonalDataListener"." ["exception" => Symfony\Component\Console\Exception\InvalidArgumentException^ { …},"command" => "debug:container UpdatePersonalDataListener","message" => "No services found that match "UpdatePersonalDataListener"."]
    
                                                                  
      No services found that match "UpdatePersonalDataListener".  
                                                                  
    
    debug:container [--show-arguments] [--show-hidden] [--tag TAG] [--tags] [--parameter PARAMETER] [--parameters] [--types] [--env-var ENV-VAR] [--env-vars] [--format FORMAT] [--raw] [--deprecations] [--] [<name>]

  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

    Erzeuge eine config/services.yaml und füge folgendes ein:
    Code:
    services:
        _defaults:
            autowire: true
            autoconfigure: true
    
        App\:
            resource: ../src
    Danach wieder composer install und debug:container (poste auch etwaige Fehlermeldungen, die bei composer install auftreten)
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Composer Install:

    Code:
     There is no extension able to load the configuration for "App\" (in "/webseiten/website/config/services.yaml"). Looked for namespac  
      e "App\", found ""doctrine", "framework", "monolog", "fos_http_cache", "nel  
      mio_cors", "nelmio_security", "scheb_two_factor", "twig_extra", "knp_menu",  
       "knp_time", "cmf_routing", "twig", "security", "contao", "flysystem", "con  
      tao_manager", "terminal42_node", "codefog_tags", "contao_faq", "terminal42_  
      url_rewrite", "contao_installation", "contao_news", "contao_calendar", "con  
      tao_newsletter", "softleister_backup_db"".
    Das gleiche beim debug:container.

  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

    Ich denke du hast die Einrückungen falsch kopiert (oder das "services:" vergessen).
    » sponsor me via GitHub or PayPal or Revolut

  13. #13
    Contao-Nutzer
    Registriert seit
    17.11.2020.
    Beiträge
    24

    Standard

    Es funktioniert Durch die services.yaml Ergänzung habe ich eine Datei gefunden die hier dazwischen gefunkt hat. Jetzt ist der Hook korrekt registriert und funktioniert grundsätzlich auch.

    Vielen Dank für die großzügige Hilfe!

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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