7.1 Aktionen und Trigger

In Drupal 6 gibt es zum ersten Mal die Möglichkeit, Aktionen zu definieren. Die Idee dabei ist, dass es immer wieder ähnliche Ereignisse auf einer Website gibt, die Reaktionen oder zumindest eine „Kenntnisnahme“ erfordern. Im einfachsten Fall beispielsweise eine E-Mail-Benachrichtigung an eine oder mehrere E-Mail-Adressen, dass jemand sich ein neues Benutzerkonto angelegt hat.

7.1.1 Schritt 1 – keine Aktion ohne Auslöser

Die Aktionen sind nur eine Seite der Medaille (Schicke eine E-Mail an). Die andere Seite wird von einem Auslöser (Trigger) besetzt. Keine Aktion ohne Grund! Für diesen Grund/Auslöser gibt es ein Modul mit dem Namen Trigger. Aktivieren Sie es im Bereich Verwalten – Strukturierung – Module (Abbildung 7.2).

Aktivierung des Trigger-Moduls
Abbildung 7.2: Aktivierung des Trigger-Moduls

Nach der Aktivierung haben sie einen zusätzlichen Menülink Trigger im Bereich Verwalten – Strukturierung.

7.1.2 Schritt 2 – Aktion erstellen

Um die besagte E-Mail verschicken zu können, müssen Sie sie zunächst als Aktion anlegen:

  • Klicken Sie auf Verwalten – Einstellungen – Aktionen.

  • Im unteren Bereich des Formulars finden Sie eine Auswahlliste verfügbarer Aktionen und einen Erstellen-Button. Wählen Sie aus der Liste die Aktion E-Mail-senden aus und klicken auf Erstellen (Abbildung 7.3).

Aktion auswählen
Abbildung 7.3: Aktion auswählen

In dem sich öffnenden Formular müssen Sie eine Beschreibung, den Empfänger, einen Betreff und den Inhalt der E-Mail festlegen. Im Inhalt können Sie vordefinierte Variablen wie beispielsweise %username für den Benutzernamen und %site_name für den Namen der Website eintragen. Wenn die E-Mail verschickt wird, werden für diese Variablen die echten Werte eingetragen (Abbildung 7.4).

Aktion "E-Mail senden" erstellen
Abbildung 7.4: Aktion „E-Mail senden“ erstellen

7.1.3 Schritt 3 – Auslöser (Trigger) festlegen

Jetzt müssen Sie den Auslöser für die neue Aktion „E-Mail senden an Admin“ festlegen. Klicken Sie dazu auf Verwalten – Strukturierung – Trigger.

Sie haben die Wahl zwischen Auslösern aus verschiedenen Bereichen (Kommentare, Inhalt, Cron, Taxonomie und Benutzer). Sie benötigen einen Auslöser im Bereich Benutzer:

  • Klicken Sie auf den Reiter Benutzer.

  • Weisen Sie die Aktion „E-Mail senden an Admin“ im Feld Trigger: Nachdem ein Benutzerprofil erstellt wurde durch einen Klick auf den Button zuweisen zu (Abbildung 7.5).

Aktion einem Auslöser zuordnen
Abbildung 7.5: Aktion einem Auslöser zuordnen

7.1.4 Das Ergebnis

Wenn sich jetzt ein Benutzer auf Ihrer Website registriert, erhalten Sie eine E-Mail wie in Abbildung 7.6:

E-Mail nach Benutzerregistrierung
Abbildung 7.6: E-Mail nach Benutzerregistrierung

Die Sache hat lokal natürlich noch einen Schönheitsfehler. Ihr Windows hat vermutlich keinen Mailserver installiert, und so kann Drupal die E-Mail zwar an den PHP-Interpreter weitergeben, der kann sie dann aber nicht verschicken. Lokal wird diese Funktionalität auch eher selten benötigt. Bei Ihrem Website Provider ist natürlich ein Mailserver installiert, der die E-Mail dann auch zustellen kann.

Exkurs

Es gibt natürlich die Möglichkeit, Windows mit einem Mailserver auszustatten. Wenn Sie beispielsweise statt XAMPP Lite die „große“ Version von XAMPP herunterladen, so ist dort der Mercury Mailserver enthalten1. Mit diesem Paket können Sie auch lokal E-Mails verschicken.

 

Exkurs

Wenn Sie sich die zur Verfügung stehenden Trigger aus den verschiedenen Bereichen ansehen, so können Sie damit schon beeindruckende Dinge erledigen, die weit über das Senden einer E-Mail hinausgehen. Sie können auf Inhaltsänderungen, Profilseitenaufrufe und ähnliche Dinge reagieren. Damit lassen sich beispielsweise Hinweismeldungen für Benutzer direkt nach der Anmeldung einblenden. URL-Weiterleitungen sind möglich, etwa nach dem Löschen eines Inhalts.


Ihre Bewertung: Nichts Durchschnitt: 5 (4 Stimmen)