Wiki-Quellcode von Platzhalter


Zeige letzte Bearbeiter
1 {{content/}}
2
3 Platzhalter werden für die Ersetzung von Formular- oder Systemwerten verwendet und stehen in [[Aktionen>>doc:Formcycle.Designer.Workflow.Actions.WebHome]], [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]] sowie [[Datenbank-Abfragen>>Formcycle.UserInterface.Data.DBQueries.WebHome]] zur Verfügung.
4
5 == Verwenden von Platzhaltern ==
6
7 {{figure image="1_de_PlatzhalterEMail.png" group="platzhalter"}}
8 Symbol für das Öffnen einer Platzhalterauswahl an einem Options- und einem Textfeld im Aktionstyp [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]].
9 {{/figure}}
10
11 {{figure image="2_de_Platzhalter.png" width="150" group="platzhalter"}}
12 Die geöffnete Platzhalterauswahl. Hier kann ein Formularfeld ausgewählt werden, dessen Wert genutzt wird.
13 {{/figure}}
14
15 === Verwendung in Aktionen ===
16
17 Bei Optionsfeldern von Aktionen, die diese unterstützen, kann über das Symbol rechts die Platzhalterauswahl geöffnet werden.
18
19 === Verwendung in Templates ===
20
21 {{figure image="3_de_PlatzhalterTemplates.png" group="platzhalter"}}
22 Platzhalter können auch in Templates genutzt werden. Der Knopf //Platzhalter// öffnet das entsprechende Auswahlmenü.
23 {{/figure}}
24
25 Das Platzhaltermenü kann über den Knopf //Platzhalter// im Template-Editor geöffnet werden oder auch über die Tastenkombination //Strg// + //Leerzeichenzeichentaste//.
26
27 == Platzhaltertypen ==
28
29 {{id name="sec_form_placeholder"/}}
30
31 === Formularplatzhalter ===
32
33 {{panel monospace="true" title="Syntax"}}
34 [%<NameDesFormularelements>%]
35 {{/panel}}
36
37 Dieser Platzhalter wird ersetzt durch den Wert des Formularelements mit dem angegebenen Namen. Formularplatzhalter werden in Aktionen wie z.B. [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]], [[Text erzeugen>>doc:Formcycle.Designer.Workflow.Actions.CreateTextFile]], [[Datenbank>>doc:Formcycle.Designer.Workflow.Actions.SQLStatement]] sowie bei [[Templates>>doc:Formcycle.Designer.Workflow.Actions.HtmlResponsePage]] verwendet.
38
39 Beispielweise wird der Platzhalter //[%tfVorname%]// durch den Wert des [[Eingabefelds>>doc:Formcycle.Designer.Form.FormElements.Input]] mit Namen //Vorname// ersetzt.
40
41 === Spezielle Formularplatzhalter ===
42
43 Einige spezielle Formularplatzhalter existieren für alle Formulare:
44
45 ; [%xf-action%]
46 : Der Name der Schaltfläche, die zum Absenden verwendet wurde. Kann etwa genutzt werden, um über eine Bedingung bestimmte Aktionen nur auszuführen, wenn eine bestimmte Schaltfläche gedrückt wurde.
47 ; [%lang%]
48 : Verweist auf die Sprache, die beim Ausfüllen des Formulars verwendet wurde, z.B. //de//, //de-CH//, //en// oder //fr-FR//.
49
50 === Systemplatzhalter ===
51
52 {{panel monospace="true" title="Syntax"}}
53 [%$<Name>%]
54 {{/panel}}
55
56 Dieser Platzhalter wird ersetzt durch den entsprechenden Systemwert. Aktuell stehen folgende Systemplatzhalter in Aktionen und Templates zur Verfügung.
57
58 ; [%$CLIENT_ID%]
59 : Gibt die Mandant-ID des Formulars zurück.
60 ; [%$FORM_LINK%]
61 : Gibt die URL des Formulars zurück.
62 ; [%$FORM_PROCESS_LINK%]
63 : Gibt die URL des Formulars mit dem Inhalt des Vorgangs zurück.
64 ; [%$FORM_VERIFY_LINK%]
65 : Gibt die einmalige Bestätigungs-URL zurück (nötig für [[Double-Opt-In>>doc:Formcycle.UserInterface.MyForms.DoubleOptIn.WebHome]]).
66 ; [%$FORM_INBOX_NAME%]
67 : Gibt den Namen des Postfachs zurück, indem sich der Vorgang derzeit befindet.
68 ; [%$FORM_INBOX_LINK%]
69 : Gibt den Link des Postfachs zurück, indem sich der Vorgang derzeit befindet.
70 ; [%$FORM_INVITE_LINK%]
71 : Gibt den Einladungslink zum Formular zurück.
72 ; [%$PROCESS_ID%]
73 : Gibt die aktuelle Prozess-ID des Vorgangs zurück.
74 ; [%$PROJECT_ALIAS%]
75 : Alias des derzeitigen Formulars.
76 ; [%$PROJECT_ID%]
77 : Gibt die Formular-ID zurück.
78 ; [%$PROJECT_TITLE%]
79 : Titel des derzeitigen Formulars.
80 ; [%$RECORD_ID%]
81 : ID des derzeitigen Vorgangs.
82 ; [%$RECORD_READ%]
83 : Rückgabe ob der derzeitige Vorgang gelesen wurde. Liefert Boolean (true/false) zurück.
84 ; [%$RECORD_UNREAD%]
85 : Rückgabe ob der derzeitige Vorgang nicht gelesen wurde. Liefert Boolean (true/false) zurück.
86 ; [%$RECORD_ATTR.<customAttrKey>%]
87 : Auslesen von benutzerdefinierten Vorgangswerten (z.B. [%$RECORD_ATTR.loopCount%]). Damit können am Vorgang Werte gespeichert und in jeder Aktion darauf zugegriffen werden.
88 ; [%$SOURCE_SERVER%]
89 : Gibt den Namen des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
90 ; [%$SOURCE_SERVER_URL%]
91 : Gibt die URL des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
92 ; [%$STATUS_ID%]
93 : ID des derzeitigen Status.
94 ; [%$STATUS_NAME%]
95 : Name des derzeitigen Status.
96 ; [%$STATUS_TYPE%]
97 : Typ des derzeitigen Status. Diese vier Werte sind möglich: //RECEIVED// (Eingegangen), //SAVED// (Zwischengespeichert), //ERROR// (Fehlerstatus) and //CUSTOM// (Benutzerdefinierter Status, der durch den Nutzer angelegt wurde).
98
99 ==== Parametrisierbare Systemplatzhalter ====
100
101 {{panel monospace="true" title="Syntax"}}
102 [%$&lt;Name&gt;(&lt;Parameter&gt;...)%]
103 {{/panel}}
104
105 ; [%$DATE("<format>", <lang>)%]
106 : Aktuelles Datum. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$DATE("dd.MM.yyyy", de)%]{{/code}}.
107 ; [%$FORM_DATE_CREATED("<format>", <lang>)%]
108 : Erstellungsdatum des Vorgangs. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden, wobei letztere sich auf die Benennung von Wochentagen und Monaten auswirkt. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$FORM_DATE_CREATED("dd.MM.yyyy", de)%]{{/code}}
109 ; [%$FORM_DATE_MODIFIED("<format>", <lang>)%]
110 : Datum der letzten Änderung des Vorgangs. Die Parameter sind optional. Ohne Parameter wird das Datum im Standardformat zurückgegeben. Durch die Parameter kann das Format und die Sprache bestimmt werden, wobei letztere sich auf die Benennung von Wochentagen und Monaten auswirkt. Siehe [[SimpleDateFormat>>https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html]] für mehr Informationen zum Datumsformat. Beispiel: {{code language="none"}}[%$FORM_DATE_MODIFIED("dd.MM.yyyy", de)%]{{/code}}
111
112 {{id name="sec_user_variables"/}}
113
114 === Benutzerplatzhalter ===
115
116 {{id name="fig_prefill_user_variables"/}}
117 {{figure image="prefill_user_variables_de.png"}}Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.{{/figure}}
118
119
120 {{html wiki="true"}}
121 <div class='xm-figure xm-float-right xm-clear-h2' data-alt='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='prefill_user_variables_de.png' width='300' group='$height' group='$group' title='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'/}}<div class='xm-figure-caption'>Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.</div></div></div>
122 {{/html}}
123
124
125
126 {{html wiki="true"}}
127 <div class='xm-figure xm-float-right xm-clear-h2' data-alt='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'><div class='xm-figure-inner' style='width:310px'>{{lightbox image='prefill_user_variables_de.png' width='300' group='$height' group='$group' title='Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.'/}}<div class='xm-figure-caption'>Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.</div></div></div>
128 {{/html}}
129
130
131 Benutzerplatzhalter können in [[Aktionen>>doc:Formcycle.Designer.Workflow.Actions.WebHome]], [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]], [[Datenbank-Abfragen>>Formcycle.UserInterface.Data.DBQueries.WebHome]] und direkt in [[Formularelementen>>Formcycle.Designer.Form.FormElements.WebHome]] zur Vorbefüllung des Formulars verwendet werden (siehe [[Abbildung>>||anchor="fig_prefill_user_variables"]]).
132
133 {{panel monospace="true" title="Syntax"}}
134 [%$&lt;Benutzerobjekt&gt;.&lt;Attribut&gt;%]
135 {{/panel}}
136
137 Über verschiedene Benutzerobjekte kann auf die Informationen der angemeldeten Benutzer zugrgriffen werden (Benutzerprofil). Wird der Platzhalter ohne Attribut angegeben (z.b. [%$USER%]), so werden sämtliche Benutzerinformation im [[JSON>>https://de.wikipedia.org/wiki/JavaScript_Object_Notation]]-Format ausgegeben.
138
139 Für die sinnvolle Verwendung von Benutzerplatzhaltern ist es nötig, dass eine [[Formularanmeldung>>doc:Formcycle.UserInterface.MyForms.Access.WebHome||anchor="form_login"]] am Formular konfiguriert ist. Ist dies nicht der Fall, ist das Benutzerobjekt mit einem anonymen Nutzer vorbelegt.
140
141 ==== Benutzerobjekte ====
142
143 ; [%$USER%]
144 : Benutzerobjekt für den Zugriff auf den aktuellen Benutzer.
145
146 ; [%$LAST_USER%]
147 : Benutzerobjekt für den Zugriff auf den letzten Benutzer.
148
149 ; [%$INITIAL_USER%]
150 : Benutzerobjekt für den Zugriff auf den Benutzer, der den Vorgang angelegt hat.
151
152 ==== Attribute ====
153
154 Mit den Attributen eines Benutzerobjektes können gezielt Informationen über den Benutzer ermittelt werden. Die folgenden Attribute stehen bei allen Benutzern zur Verfügung. Auch wenn diese Attribute immer zur Verfügung stehen, müssen sie nicht immer einen Wert haben. Ob das Attribut einen Wert besitzt, hängt davon ab mit welcher [[Authentifizierungsmethode>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]] sich der Benutzer angemeldet hat.
155
156 Beispiel: Mit dem Platzhalter **[%$USER.mail%]** gelangt man an die E-Mailadresse des angemeldeten Benutzers.
157
158 ; authTypeId
159 : ID des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
160 ; displayName
161 : Anzeigename des angemeldeten Benutzers
162 ; familyName
163 : Nachname des angemeldeten Benutzers
164 ; firstName
165 : Vorname des angemeldeten Benutzers
166 ; gender
167 : Geschlecht des angemeldeten Benutzers
168 ; groups
169 : Namen der Gruppen, denen der Benutzer angehört
170 ; id
171 : ID des angemeldeten Benutzers. (System-ID bei FORMCYCLE-Benutzern)
172 ; linkedId
173 : Ein Benutzerprofil kann einen sog. "linked identifier" haben. Dies ist der Identifikator eines anderen Benutzerprofils.
174 ; locale
175 : Sprache des angemeldeten Benutzers
176 ; location
177 : Ort des angemeldeten Benutzers
178 ; mail
179 : E-Mailadresse des angemeldeten Benutzers
180 ; phone
181 : Telefonnummer des angemeldeten Benutzers
182 ; pictureUrl
183 : URL zum Profilbild des angemeldeten Benutzers
184 ; profileUrl
185 : URL zum Profil des angemeldeten Benutzers
186 ; rawData
187 : Die gesamte Rohdaten des angemeldeten Benutzers im [[JSON>>https://de.wikipedia.org/wiki/JavaScript_Object_Notation]]-Format. Abhängig vom verwendeten Authentifikator können die Rohdaten weitere Benutzerinformationen enthalten, die nicht über die Attribute des Benutzerobjektes abgebildet werden.
188 ; role
189 : Rolle des angemeldeten Benutzers
190 ; title
191 : Titel des angemeldeten Benutzers
192 ; typedId
193 : Typ des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
194 ; userName
195 : Benutzername des angemeldeten Benutzers
196
197 {{id name="sec_appointment_variables"/}}
198
199 === Terminplatzhaler ===
200
201 Terminplatzhalter können verwendet werden, wenn mit dem Formular [[Termine>>doc:Formcycle.Designer.Form.FormElements.Appointment.WebHome]] gebucht werden.
202
203 {{panel monospace="true" title="Syntax"}}
204 [%$&lt;Name&gt;%]
205 {{/panel}}
206
207 ; [%$APPOINTMENT_LIST%]
208 : Erzeugt eine Zusammenfassung der mit dem Vorgang gebuchten Termine in Form einer //ul//-HTML-Liste. Für jeden Termin wird zudem ein Button erzeugt, mit welchem der gebuchte Termin zu einem Kalender hinzugefügt werden kann. Ist für die Verwendung in HTML-Templates angedacht.
209 ; [%$APPOINTMENT_LINK%]
210 : Erzeugt einen Link zu einer iCal-Datei, die sämtliche Termine des Vorgangs beinhaltet.
211
212 {{id name="sec_system_placeholder_html"/}}
213
214 === Systemplatzhalter für HTML-Templates ===
215
216 {{panel monospace="true" title="Syntax"}}
217 [%$&lt;Name&gt;(&lt;Parameter1&gt;,&lt;Parameter2&gt;)%]
218 {{/panel}}
219
220 Zusätzlich zu den allgemeingültigen Systemplatzhaltern gibt es noch einige weitere Systemplatzhalter, welche nur innerhalb eines [[HTML-Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.HTML.WebHome]] verwendet werden können. Diese dienen zum Herunterladen von Anhängen und sind hierfür nur innerhalb der Browser-Session nach dem Absenden eines Formulars nutzbar.
221
222 ; [%$ATTACHMENT_LIST%]
223 : Stellt alle an einem Vorgang verfügbaren Anhänge (Attachments) in einer Liste zum Herunterladen bereits. Die erzeugte Liste wird als //ul//-HTML-Element in das Tempalte eingefügt.
224 ; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
225 : Erzeugt einen Link zum Herunterladen aller Anhänge eines Vorgangs. Die Parameter //Dateiname// sowie //Link-Text// sind optional, sodass dieser Systemplatzhalter in folgenden Varianten genutzt werden kann.
226 :; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
227 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
228 :; [%$ATTACHMENT_ZIP=Dateiname%]
229 :: Erzeugt einen Link mit dem Text //Dateiname// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
230 :; [%$ATTACHMENT_ZIP%]
231 :: Erzeugt einen Link mit dem Text //attachment.zip// zum Herunterladen der Datei, die den Dateinamen //attachment.zip// erhält.
232 ; [%$ATTACHMENT=Anhang,Link-Text,Dateiname%]
233 : Erzeugt einen Link zum Download eines einzelnen Anhangs eines Vorgangs mit dem Namen "Anhang". Dieser muss für eine korrekte Funktion den Namen einer erzeugten bzw. an den Vorgang angehangenen Datei entsprechen. Die Parameter "Link-Text" und "Dateiname" sind hierbei optional, sodass sich folgende Verwendungsmöglichkeiten ergeben:
234 :; [%$ATTACHMENT=Anhang,Link-Text,Downloadname%]
235 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Dateiname// erhält.
236 :; [%$ATTACHMENT=Anhang,Link-Text%]
237 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
238 :; [%$ATTACHMENT=Anhang%]
239 :: Erzeugt einen Link mit dem Text //Anhang// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
240
241 Zusätzlich ist bei dieser Art von Platzhaltern zu beachten, dass sie automatisch aus dem Template entfernt werden, wenn keine entsprechende Datei gefunden wurde bzw. erzeugt werden konnte.
242
243 === Textbausteinplatzhalter ===
244
245 {{panel monospace="true" title="Syntax"}}
246 [%$$&lt;Name&gt;%]
247 {{/panel}}
248
249 Ein Textbausteinplatzhalter gibt den Inhalt eines [[Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]] (zum Beispiel [[Text->>doc:Formcycle.UserInterface.FilesAndTemplates.Text]], [[Mail->>doc:Formcycle.UserInterface.FilesAndTemplates.Email]], [[Link-Templates>>doc:Formcycle.UserInterface.FilesAndTemplates.Link]]) zurück und wird beispieslweise in Aktionen vom Typ [[E-Mail>>doc:Formcycle.Designer.Workflow.Actions.EMail]] verwendet.
250
251 === Aktionsplatzhalter ===
252
253 {{panel monospace="true" title="Syntax"}}
254 [%$&lt;Aktionsname&gt;.&lt;RückgabeWert&gt;%]
255 {{/panel}}
256
257 Einige Aktionen haben Rückgabewerte, die über diesen Platzhalter ausgelesen werden können.
258
259 Sie sehen ähnlich wie Systemplatzhalter aus, haben aber im Unterschied zu diesen einen Punkt als Trennzeichen zwischen dem Namen der Aktion und dem Rückgabewert. Folgende Rückgabebezeichner sind vorhanden.
260
261 ; [%$<Aktionsname>.SUCCESS%]
262 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
263 ; [%$<Aktionsname>.COUNT%]
264 : Dieser Platzhalter wird im neuen Workflow nicht unterstützt.
265 : Rückgabe der Anzahl von Ergebnissen. Liefert Integer-Wert zurück.
266 ; [%$<Aktionsname>.RESULT%]
267 : Rückgabe eines einzelnen Ergebnis. Liefert String-Wert zurück.
268 ; [%$<Aktionsname>.RESULT[<Index>].<Bezeichner>%]
269 : Einige Aktionen liefern mehrere Ergebnisse zurück (//List<Map<String,String>>// in Java). Der Bezeichner ist dabei fest durch die Verarbeitung definiert. Wird häufig bei Plugins verwendet, falls mehrere Ergebnisse zurückgegeben werden.
270 ; [%$<Aktionsname>.ERROR_CODE%]
271 : Der geworfene Fehler-Code im Fehlerfall der Aktion.
272 ; [%$<Aktionsname>.ERROR_MESSAGE%]
273 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion.