Variablen
Welche Variablen zur Verfügung stehen, hängt davon ab, an welcher Stelle vSQL eingesetzt wird. Insgesamt gibt es folgende Variablen:
user
BenutzerDer eingeloggte Benutzer ist immer über die vSQL-Variable
user
zugänglich, d.h. dass z.B.user.firstname
der Vorname des eingeloggten Benutzers ist.r
DatensätzeDer Datensatz der für den jeweiligen Zweck getestet werden soll, also der Datensatz der für die Filterbedingung bei Datenquellen gefiltert werden soll, oder bei den Farben im Datenmanagement eingefärbt werden soll, oder bei der Konfiguration für untergeordnete Datensätze (bei der Filterbedingung und der Sortierung) der untergeordnete Datensatz etc.
record
DatensätzeWenn ein Anzeige-Template als Detail-Template aufgerufen wird und wenn ein E-Mail-Template aufgerufen wird, so ist der Detaildatensatz unter der Variable
record
in der Filterbedingung für Datenquellen zugänglich. Das einzige Attribut das aber tatsächlich vorhanden ist, istid
(d.h.record.id
ist die eindeutige 30-stellige Kennung des Detail-Datensatzes.)lang
StringDie aktuelle Sprache (
globals.lang
in UL4).mode
StringDer Template-Modus (
globals.mode
in UL4).search
StringDer aktuelle Suchausdruck für die Ajax-Suche für Applookups vom Untertyp
"choice"
im Eingabeformular.request.id
In der Filterbedingung für Datenquellen kann mittels
request.id
auf die eindeutige ID des Requests zugegriffen werden.request.method
In der Filterbedingung für Datenquellen kann mittels
request.method
auf die HTTP-Request-Methode zugegriffen werden.request.url
In der Filterbedingung für Datenquellen kann mittels
request.url
auf die vollständige URL (mit Query-String) zugegriffen werden.request.params
In der Filterbedingung für Datenquellen kann mittels
request.params
auf die Parameter des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates).request.params
besitzt zehn Unter-Attribute.request.params.str.*
Enthält die Parameter als Einzelwerte und interpretiert sie als String. Wenn ein Parametername trotzdem doppelt angegeben wurde, ist der Wert der des ersten Auftretens, d.h. in der URL:
http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1&y=2&x[]=3
ergibt
request.params.str.x
den String"1"
. Wurde der Parametername gar nicht angegeben, so ist der WertNone
.request.params.strlist.*
Enthält die Parameter als Listen und interpretiert sie als String, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Strings, wurde er nur einmal angegeben, so enthält die Liste nur einen String, wurde der Parametername gar nicht angegeben, so ist die Liste leer. Bei obiger URL ergibt also
request.params.strlist.x
die Liste["1", "3"]
,request.params.strlist.y
ergibt["2"]
undrequest.params.strlist.z
ergibt[]
.request.params.int.*
Enthält die Parameter als Einzelwerte und interpretiert sie als ganze Zahl. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:
http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1&y=2&x[]=3
ergibt
request.params.int.x
die ganze Zahl1
. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format fürINT
-Parameter, so ist der WertNone
.request.params.intlist.*
Enthält die Parameter als Listen und interpretiert sie als ganze Zahl, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren ganzen Zahlen, wurde er nur einmal angegeben, so enthält die Liste nur eine ganze Zahl. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für
INT
-Parameter, so ist die Liste leer. Bei obiger URL ergibt alsorequest.params.intlist.x
die Liste[1, 3]
,request.params.intlist.y
ergibt[2]
undrequest.params.intlist.z
ergibt[]
.request.params.float.*
Enthält die Parameter als Einzelwerte und interpretiert sie als Zahl mit Nachkommastellen. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:
http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=1.1&y=2.2&x[]=3.3
ergibt
request.params.float.x
die Zahl1.1
. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format fürNUMBER
-Parameter, so ist der WertNone
.request.params.floatlist.*
Enthält die Parameter als Listen und interpretiert sie als Zahl mit Nachkommastellen, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Zahlen, wurde er nur einmal angegeben, so enthält die Liste nur eine Zahl. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für
NUMBER
-Parameter, so ist die Liste leer. Bei obiger URL ergibt alsorequest.params.floatlist.x
die Liste[1.1, 3.3]
,request.params.floatlist.y
ergibt[2.2]
undrequest.params.floatlist.z
ergibt[]
.request.params.date.*
Enthält die Parameter als Einzelwerte und interpretiert sie als Datum. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:
http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=2018-05-01&y=2018-06-01&x[]=2018-07-01
ergibt
request.params.date.x
das Datum01.05.2018
. Das Format fürDATE
-Parameter istYYYY-MM-DD
. Zum Beispiel kann mitrequest.params.date.datum
in der Filterbedingung der Datenquelle aufdatum=2000-02-29
in der URL zugegriffen werden. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format fürDATE
-Parameter, so ist der WertNone
.request.params.datelist.*
Enthält die Parameter als Listen und interpretiert sie als Datum, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Daten, wurde er nur einmal angegeben, so enthält die Liste nur ein Datum. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für
DATE
-Parameter, so ist die Liste leer. Bei obiger URL ergibt alsorequest.params.datelist.x
die Liste[01.05.2018, 01.07.2018]
,request.params.datelist.y
ergibt[01.06.2018]
undrequest.params.datelist.z
ergibt[]
.request.params.datetime.*
Enthält die Parameter als Einzelwerte und interpretiert sie als Datum mit Uhrzeit. Wird ein Parametername trotzdem doppelt angegeben, ist der Wert der des ersten Auftretens, d.h. in der URL:
http://my.living-apps.de/gateway/apps/1234567890abcdef12345678?template=gurk&x[]=2018-05-01T14:30:55&y=2018-06-01T09:50:22&x[]=2018-07-01T12:30:05
ergibt
request.params.datetime.x
das Datum mit Uhrzeit01.05.2018 14:30:55
. Das Format fürDATETIME
-Parameter istYYYY-MM-DDTHH:MM:SS
. Zum Beispiel kann mitrequest.params.datetime.datum
in der Filterbedingung der Datenquelle aufdatum=2000-02-29T14:30:29
in der URL zugegriffen werden. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format fürDATETIME
-Parameter, so ist der WertNone
.request.params.datetimelist.*
Enthält die Parameter als Listen und interpretiert sie als Datum mit Uhrzeit, d.h. wenn ein Parametername mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Daten und Uhrzeiten, wurde er nur einmal angegeben, so enthält die Liste nur ein Datum mit Uhrzeit. Wurde der Parametername gar nicht angegeben, oder entspricht er nicht dem Format für
DATETIME
-Parameter, so ist die Liste leer. Bei obiger URL ergibt alsorequest.params.datetimelist.x
die Liste[01.05.2018 14:30:55, 01.07.2018 12:30:05]
,request.params.datetimelist.y
ergibt[01.06.2018 09:50:22]
undrequest.params.datetimelist.z
ergibt[]
.
request.headers
In der Filterbedingung für Datenquellen kann mittels
request.headers
auf die Header des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates).request.headers
besitzt zwei Unter-Attribute.request.headers.str.*
Enthält die Header als Einzelwerte und interpretiert sie als String. Wenn ein Header mehrfach angegeben wurde, ist es der Wert der des ersten Auftretens.
request.headers.strlist.*
Enthält die Header als Listen und interpretiert sie als String, d.h. wenn ein Header mehrmals angegeben wurde, so ist der Wert eine Liste mit mehreren Strings, wurde er nur einmal angegeben, so enthält die Liste nur einen String, wurde der Header gar nicht angegeben, so ist die Liste leer.
request.cookies.*
In der Filterbedingung für Datenquellen kann mittels
request.cookies
auf die Cookies des HTTP-Requests zugegriffen werden (nur bei Anzeige-Templates, nicht bei E-Mail-Templates).