ToBuS - Touristisches Buchungssystem :: Dokumentation modified: 2005-03-24
english | deutsch | forum.tobus.org | www.tobus.org | demo.tobus.org
Dokumentation

Templates
system_mail

ToBuS-Projekt

designed by:
Design is powered by OTRS
Template system_mail

$template_path/system/*.mail.php
site-spezifische eMail-Templates

eMail-Templates sollten aus Sicherheitsgründen mit korrektem PHP-Tag geöffnet und geschlossen werden!
Sie sind include-Dateien, die von einem ToBuS-eigenen Parser analysiert werden.
Es kann normaler Text geschrieben werden. Dieser kann jedoch Variablen beinhalten, die durch ihre
Definition ersetzt werden. Es können auch Zeilenweise komplette PHP-Anweisungen geschrieben werden.
Auf die Nutzung der Funktionen echo, printf u.ä. sollte verzichtet werden, da die Templates oft nicht
auf STDOUT (zum Browser) ausgeben werden sondern im Hintergrund als Mail versandt werden. Die
Funktionalität der Ausgabe übernimmt der Parser. PHP-Zeilen sollten daher Ausgaben immer in eine
Variable schreiben, die dann in der kommenden Zeile einfach als Text, ohne PHP-Zeilenabschluss (Semikolon)
notiert werden, also:

#####
DEFINE $var1=3; $var2=1.25; $result=ereg_replace(".", ",", $var1-$var2);
Sie sparen genau $result $_TOBUS['list']['cur']
#####

In den Mail-Templates kann beliebiger Text notiert werden. Für Mehrsprachigkeit sollte der Text im
admin-Bereich editiert werden und dieser mit $_TOBUS['text']['eigener_name_des_textes'] im Template
aufgerufen werden. Dazu wird im Template einfach diese Variable notiert, gefolgt von einem Leerzeichen.

Bsp.:
########
$_TOBUS['text']['eigener_name_des_textes']
########


Die eMail-Templates unterstützen jede PHP-Anweisung und haben Zugriff auf globalisierte und an die
aufrufende Funktion übergebene Variablen. So kann das Template Berechnungen durchführen oder Werte
aus der Datenbank lesen. PHP-Anweisungen müssen in einer seperaten Zeile mit einem beginnenden
DEFINE notiert werden. Das abschließende Semikolon sei nicht zu vergessen.

Bsp. zur Ermittlung und Ausgabe des Apartment-Namen:
#######
DEFINE $whatapartments = "1' AND id = '".$_TOBUS['quartier_id']; //SQL-Injection
DEFINE $apartments = tobus::getMultipleData(array("name"), $whatapartments, "apartments"); //QUERY via getMultipleData()
DEFINE $apartmentname = $apartments[0]['name']; //die Nutzung von Arrays im Fließtext sollte vermieden werden

Wir möchten Ihnen den Namen des Apartments an dieser Stelle mitteilen,
er lautet $apartmentname
#######

Hier darf nach $apartmentname nicht sofort ein Satzzeichen folgen, da der Parser dann nicht die
korrekte Variable anspricht. Die Satzstellung sollte also so gewählt werden, dass auf Satzzeichen
verzichtet werden kann. Es ist nach jeder Nutzung einer Variablen zwingend erforderlich, dass nach
dieser ein Leerzeichen folgt.

Ein einfacheres Beispiel - ein TimeStamp der Mail:
########
DEFINE $datum = date("d.m.Y");
DEFINE $servername = $_SERVER['SERVER_NAME'];

This Mail is created on $datum by $servername
########


Zur Überprüfung der Syntax steht Ihnen die Datei admin/eval.php zur Verfügung.
Die eMail-Templates geben Ihnen recht mächtige Möglichkeiten zur Beeinflussung der Kommunikation. Solange
keine DEFINE-Zeilen bearbeitet werden, kann damit auch nichts zerstört werden oder das System beeinträchtigt
werden. Probieren Sie es einfach aus, spielen Sie ein wenig. Learning by doing.

Spezielle Templates können natürlich auch über den kostenpflichtigen Support erstellt werden.

 



Kontakt