[gelöst] Verständnisfrage hook_mail
am 16.06.2010 - 16:38 Uhr in
Hallo,
ich hab eine Verständnisfrage zum Einsatz des hook_mail().
Wenn ich das richtig verstanden habe, ermöglicht es mir dieser Hook doch, in einem Modul eine (von einem anderen Modul per drupal_mail zum Versand vorbereiteten) Mail 'abzufangen' und zu ändern bzw zu erweitern.
Dies hab ich gerade versucht, aber eben ohne Erfolg. Anscheinend wird mein hook gar nicht erst aufgerufen ( zumindest kommt meine dprint_r() Ausgabe des $key nicht an und die Mail ist unverändert)
Was bei mir direkt 2 Fragen aufwirft:
1.) Hab ich das überhaupt richtig verstanden?
2.) Woher 'weiss' Drupal überhaupt in welcher Reihenfolge er die hooks abarbeiten soll/muss? Kann es sein das mein modul früher dran ist als das Modul dessen Mail ich abfangen will?
Für Hinweise/Denkanstöße wie immer dankbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
Auszug aus der Drupal API zu
am 16.06.2010 - 16:49 Uhr
Auszug aus der Drupal API zu drupal_mail():
Any module can modify the composed e-mail message array using hook_mail_alter()
hook_mail erstellt eine eMail-Nachricht. Mit hook_mail_alter kann man eine solche Mail "abfangen" und verändern.
Soviel zu 1.
2. Wenn Drupal eine Mail über die Funktion drupal_mail() versendet, wird vor dem Versand geprüft, ob irgendwelche Module hook_mail_alter implementiert haben und die werden ggf. aufgerufen. Das was du beschrieben hast wäre ja sinnlos ^^ Man hat sich dabei schon was gedacht, wenn du einen funktionierenden hook_mail_alter implementierst, dann wird dieser auch an richtiger Stelle aufgerufen.
So läuft das immer, wenn irgendein hook aufgerufen wird, dann wird danach der entsprechende alter-hook aufgerufen, falls vorhanden.
Das mit dem hook_mail_alter
am 16.06.2010 - 17:21 Uhr
Das mit dem hook_mail_alter hab ich dann gekonnt überlesen.
Aber das erklärt auch warum ich das hook-konzept bisher nicht wirklich verstanden hatte.
Nun funktioniert das Ändern der Mail wie gewünscht und ich bin wieder ein gutes Stück schlauer :) Danke dafür.