experience level

die System Messages

die System Messages
Abb.: die System Messages Liste

Die System Messages sind als "parametrisierbare, halb-statische Texte zu verstehen".

Wir verwenden System Messages dazu, um z.B. Button- oder Formularfeld-Beschriftungen sowie Validierungsmeldungen sprachabhängig zu gestalten.

Die System Message wird über ein eindeutiges Kürzel angesprochen, es sollten "sprechende" Namen dazu verwendet werden, wie z.B. "err_email_syntax". Diese System Message wäre eine Fehlermeldung über eine syntaktisch falsche Email Adresse.

Parametrisierbar deshalb, weil innerhalb der System Message Platzhalter definiert werden können, die zur Laufzeit ersetzt werden. Die Platzhalter haben das Format §[fortlaufende Nummer]§, also z.B. §00§, §01§, ...


Zurück zu obigem Beispiel:

Eine System Message könnte also folgendermassen aussehen:

Die angegebene E-Mail Adresse "§00§" scheint nicht korrekt zu sein

An der Stelle, an der diese Fehlermeldung erzeugt wird, muss die System Message mit 1 Parameter (der eingegebenen Email Adresse) aufgerufen werden.

Hinweis für Developer:


jpeto_system_message::getTextMessage("err_email_syntax", $email)


Sollten mehrere Platzhalter innerhalb der System Message definiert sein, muss stattdessen ein Array von Parametern übergeben werden.

z.B.

forgot_password

Die angegebene E-Mail Adresse "§00§" stimmt mit dem Nickname §01§ nicht überein

Hinweis für Developer:

jpeto_system_message::getTextMessage("err_email_syntax", array($email,$nickname))

Prinzipiell läßt sich jede System Message als HTMLMessage und als TextMessage darstellen, erstere mit, letztere ohne HTML Formatierungen.

Hinweis für Developer:

jpeto_system_message::getHTMLMessage("err_email_syntax", $email)
jpeto_system_message::getTextMessage("err_email_syntax", $email)



Anlage von System-Messages aus dem Sourcecode heraus:

Wenn eine neue System Message (bzw. ein Kürzel) im Sourcecode vergeben wird, wird diese beim 1. Aufrufen dieses Code-Bereichs automatisch angelegt, mit dem Inhalt "please set the System Message '[KÜRZEL]'".

Daher sollte beim Befüllen von neuen Projekten immer wieder mal die Liste auf leere System Messages überprüft werden.


Default-Values für System-Messages

Hinweis für Developer

Wenn man im Sourcecode eine neue System-Message anlegt, ist es oft angenehm, hier bereits einen Default-Value zu vergeben. Das funktioniert mit folgendem Aufruf:

jpeto_system_message::getHTMLMessage("err_email_syntax", $email, "Die angegebene E-Mail Adresse \"§00§\" scheint nicht korrekt zu sein")

Zu beachten: Die System-Message wird beim 1. Aufruf dieses Codes angelegt, der Default-Wert wird übergeben. Achtung: dieser Default-Wert ist unabhängig von der aktuellen Sprache, d.h. sollte der Code in der Sprache "EN" aufgerufen werden, wird die englische System-Message mit deutschem Defaultwert belegt.

Abhilfe: Default-Werte als ARRAY: (ab Revision 1.11)

jpeto_system_message::getHTMLMessage("err_email_syntax", $email,
array("DE"=>"Die angegebene E-Mail Adresse \"§00§\" scheint nicht korrekt zu sein",
"EN"=>"The given e-mail address \"§00§\" does not seem to be correct"))


Falls der Wert der aktuellen Sprache nicht gesetzt worden ist, wird der erste Wert genommen.