Skip to content
Cliff Parnitzky edited this page Oct 16, 2013 · 6 revisions

Handbuch (DE)

Einbindung im Backend

  • Unterhalb von Benutzerverwaltung als eigener Menüpunkt
  • Liste zeigt als Symbol den Aktivitätsstatus der jeweiligen Mitgliedergruppe
  • Button Manuelle Ausführung ermöglicht das Umgehen das Cron

Erstellung einer Konfiguration

  • Die Felder 'Mitgliedergruppe' und 'Absenderadresse' sind Pflicht, der Rest ist optional.

Systemeinstellungen

  • Aktivierung des Entwicklermodus mit Entwickler E-Mail und Umgehung der Datumsprüfung
  • Festlegung ob Duplikate von E-Mails erlaubt sind (Wichtig für Mitglieder in mehreren konfigurierten Mitgliedergruppen)

Entwicklermodus

  • Aktivierung in den Systemeinstellungen
  • Festlegung einer Entwickler E-Mail an die alle E-Mails gesendet werden
  • Umgehung der Datumsprüfung um den E-Mail Versand auszulösen, auch wenn keine Mitglied am aktuellen Tag Geburtstag hat
  • Liefert zusätzlich Debug Ausgaben im System-Log (falls z.B. der E-Mail Versand fehlschlägt, oder für lokale Entwicklung)

Spezialfall Duplikate von E-Mails

Oft ist es nicht ungewöhnlich, dass Mitglieder in mehreren Gruppen vertreten sind. Wenn nun mehrere Konfigurationen existieren würden diese Mitglieder mehrere Emails erhalten. Wenn das gewünscht ist, kann dies in den Systemeinstellungen aktiviert werden.

Sollen Duplikate verboten werden, darf die Checkbox in den Systemeinstellungen nicht selektiert sein. Um dem Mitglied nun auch noch die richtige Email zukommen zu lassen müssen die entsprechenden Konfigurationen priorisiert werden.

Szenario:

  • Mitglied A gehört zur Gruppe Mitglieder und soll die Standard Mitglieder Geburtstagsmail bekommen
  • Mitglied B gehört zur Gruppe Mitglieder und Vorstand, soll aber nur eine spezielle Vorstands Email erhalten, aber nicht Standard Mitglieder Geburtstagsmail
  1. Abwahl der Option Duplikate erlauben in den Systemeinstellungen
  2. Anlegen der Konfiguration für die Gruppe Mitglieder +ohne+ Priorität
  3. Anlegen der Konfiguration für die Gruppe Vorstand mit Priorität größer als die der Konfiguration für die Gruppe Mitglieder

Nun erhält Mitglied B nur 1 E-Mail, nämlich die spezielle für den Vorstand.

E-Mail Texte

Default Werte

Es gibt Default Email Texte für Deutsch und Englisch (jeweils in BirthdayMailer.php der entsprechenden Sprache definiert). Diese sind in der förmlichen Sie Anrede gehalten, z.B.

  • Deutsch HTML

{{birthdaychild::salutation}} {{birthdaychild::firstname}} {{birthdaychild::lastname}},

<br/><br/>

als Mitglied der Gruppe <i>{{birthdaychild::groupname}}</i> gratulieren wir Ihnen recht herzlich zu Ihrem {{birthdaychild::age}}. Geburtstag und

wünschen Ihnen alles erdenklich Gute, viel Glück und vor allem Gesundheit.<br/>

Genießen Sie Ihren ganz besonderen Ehrentag.

<br/><br/>

Viele Grüße, <a href="mailto:{{birthdaymailer::email}}">{{birthdaymailer::name}}</a>

  • Englisch Text

{{birthdaychild::salutation}} {{birthdaychild::name}},

as a member of group {{birthdaychild::groupname}}, we heartily congratulate you on your {{birthdaychild::age}}th birthday and wish you all the very best, good luck and health in particular.

Enjoy your very special day.

Best regards, {{birthdaymailer::name}} (mailto:{{birthdaymailer::email}})

Folgende Variablen stehen zur Verfügung und können sprachspezifisch (gemäß dieser "Vorgabe":http://www.contao.org/de/custom-configurations.html#translations) in system/config/langconfig.php überschrieben werden:

$GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['salutation'] $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['salutation_male'] $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['salutation_female'] $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['subject'] $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['text'] $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['default']['html']

Inserttags

  • {{birthdaychild::*}} ... Dieses Tag liefert alle Werte des aktuellen Mitglieds (ersetzen Sie * mit einem beliebigen Attribut des Mitglieds, z.B. firstname oder company, das Attribut password ist nicht erlaubt).
  • {{birthdaychild::salutation}} ... Dieses Tag liefert die Anrede des Mitglieds (abhängig vom Geschlecht).
  • {{birthdaychild::name}} ... Dieses Tag liefert Vor- und Nachname des Mitglieds.
  • {{birthdaychild::groupname}} ... Dieses Tag liefert den Namen der Mitgliedergruppe der aktuellen Konfiguration.
  • {{birthdaychild::age}} ... Dieses Tag liefert das Alter des Mitglieds.
  • {{birthdaymailer::email}} ... Dieses Tag liefert die E-Mail des konfigurierten Absenders.
  • {{birthdaymailer::name}} ... Dieses Tag liefert den Namen des konfigurierten Absenders.

Hooks

birthdayMailerAbortSendMail

The "birthdayMailerAbortSendMail" hook is triggered for for checking if a birthday mail should be send. So custom checking for each birthday child is possible. It passes $birthdayChildConfig (the config of the current birthday child) and $blnAbortSendMail (the current value, if sending should be aborted). It expects a boolean return value.

// config.php

$GLOBALS['TL_HOOKS']['birthdayMailerAbortSendMail'][]   = array('MyClass', 'myAbortSendMail');

// MyClass.php

class MyClass
{
	public function myAbortSendMail($birthdayChildConfig, $blnAbortSendMail)
	{
		if ($blnAbortSendMail !== TRUE && $birthdayChildConfig->id == 1)
		{
			$blnAbortSendMail = true;
			$this->log('SEnding birthday mail to member with id "1" was aborted.', 'MyClass myAbortSendMail()', TL_INFO);
		}
		return $blnAbortSendMail;
	}
}

Verwendung eigener E-Mail Texte

Für den Fall, dass eine Konfiguration spezielle E-Mail Texte benötigt, die vom Default abweichen kann mittels 'Eigene E-Mail Texte verwenden' ein Schlüssel vergeben werden um eigene Texte zu laden:

  • Definieren eines 'Schlüssel für eigene E-Mail Texte' in der Konfiguration (z.B. MEIN_SCHLUESSEL)
  • Eintrag in system/config/langconfig.php $GLOBALS['TL_LANG']['BirthdayMailer']['mail']['MEIN_SCHLUESSEL']['subject']['en'] = 'English Custom Subject'; (statt default wird MEIN-SCHLUESSEL eingetragen)
  • bewirkt, dass Mitglieder für die Englisch als Sprache definiert ist, einen separaten Text als Betreff in der Email haben
  • es können alle Variablen (salutation, salutation_male, salutation_female, subject, text, html) konfigurationsspezifisch definiert werden, für nicht gesetzte Variablen wird der Default verwendet

!!! ggf. muss die Kodierung für system/config/langconfig.php auf 'UTF-8 ohne BOM' geändert werden, um Umlaute nutzen zu können

Bestimmung der Email Texte unter Beachtung der Mitgliedersprache

Um jedem Mitglied in seiner definierten Sprache die Geburtstagsmail zukommen zu lassen, wird nach folgendem Fallback Prinzip vorgegangen. Falls für das Mitglied keine Sprache definiert ist, wird Englisch als Default angenommen.

  1. Wenn aktuelle Konfiguration eigene E-Mail Texte verwendet, Prüfung ob zum Schlüssel in system/config/langconfig.php ein Text passend zur definierten Mitgliedersprache existiert
  2. Wenn nichts gefunden wurde, Prüfung mit Schlüssel und Sprache Englisch ein Eintrag in system/config/langconfig.php existiert
  3. Wenn nichts gefunden wurde, Prüfung ob ein Default Text passend zur definierten Mitgliedersprache existiert
  4. Wenn nichts gefunden wurde, Benutzung des Default Text in Englisch
Clone this wiki locally