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 : Ab Version 7 heißt [%$PROJECT_NAME%] nun [%$PROJECT_TITLE%] .
80 : Titel des derzeitigen Formulars.
81 ; [%$RECORD_ID%]
82 : ID des derzeitigen Vorgangs.
83 ; [%$RECORD_READ%]
84 : Rückgabe ob der derzeitige Vorgang gelesen wurde. Liefert Boolean (true/false) zurück.
85 ; [%$RECORD_UNREAD%]
86 : Rückgabe ob der derzeitige Vorgang nicht gelesen wurde. Liefert Boolean (true/false) zurück.
87 ; [%$RECORD_ATTR.<customAttrKey>%]
88 : Auslesen von benutzerdefinierten Vorgangswerten (z.B. [%$RECORD_ATTR.loopCount%]). Damit können am Vorgang Werte gespeichert und in jeder Aktion darauf zugegriffen werden.
89 ; [%$SOURCE_SERVER%]
90 : Gibt den Namen des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
91 ; [%$SOURCE_SERVER_URL%]
92 : Gibt die URL des Servers zurück, auf welchem dieser bereitgestellt und abgesendet wurde (Name des {{fserver case="gen"/}} oder lokal).
93 ; [%$STATUS_ID%]
94 : ID des derzeitigen Status.
95 ; [%$STATUS_NAME%]
96 : Name des derzeitigen Status.
97 ; [%$STATUS_TYPE%]
98 : 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).
99 ; [%$TRIGGER.actionName%]
100 : Name der Aktion des bereitstellenden Ereignisses
101 ; [%$TRIGGER.taskName%]
102 : Name des Tasks, wo sich die Aktion des Ereignis befindet.
103 ; [%$TRIGGER.triggerName%]
104 : Name des Ereignisses, wo sich die Aktion des Ereignis befindet.
105 ; [%$COUNTER_CLIENT.<counterName>%]
106 : Der aktuelle Wert eines Mandantzählers.
107
108 ==== Parametrisierbare Systemplatzhalter ====
109
110 {{panel monospace="true" title="Syntax"}}
111 [%$&lt;Name&gt;(&lt;Parameter&gt;...)%]
112 {{/panel}}
113
114 ; [%$DATE("<format>", <lang>)%]
115 : 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}}.
116 ; [%$FORM_DATE_CREATED("<format>", <lang>)%]
117 : 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}}
118 ; [%$FORM_DATE_MODIFIED("<format>", <lang>)%]
119 : 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}}
120
121 {{id name="sec_user_variables"/}}
122
123 === Benutzerplatzhalter ===
124
125 {{id name="fig_prefill_user_variables"/}}
126 {{figure image="prefill_user_variables_de.png"}}Vorbefüllung von Formularfeldern mit Daten des angemeldeten Benutzers.{{/figure}}
127
128
129 {{html wiki="true"}}
130 <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>
131 {{/html}}
132
133
134
135 {{html wiki="true"}}
136 <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>
137 {{/html}}
138
139
140 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"]]).
141
142 {{panel monospace="true" title="Syntax"}}
143 [%$&lt;Benutzerobjekt&gt;.&lt;Attribut&gt;%]
144 {{/panel}}
145
146 Ü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.
147
148 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.
149
150 ==== Benutzerobjekte ====
151
152 ; [%$USER%]
153 : Benutzerobjekt für den Zugriff auf den aktuellen Benutzer.
154
155 ; [%$LAST_USER%]
156 : Benutzerobjekt für den Zugriff auf den letzten Benutzer.
157
158 ; [%$INITIAL_USER%]
159 : Benutzerobjekt für den Zugriff auf den Benutzer, der den Vorgang angelegt hat.
160
161 ==== Attribute ====
162
163 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.
164
165 Beispiel: Mit dem Platzhalter **[%$USER.mail%]** gelangt man an die E-Mailadresse des angemeldeten Benutzers.
166
167 ; authTypeId
168 : ID des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
169 ; displayName
170 : Anzeigename des angemeldeten Benutzers
171 ; familyName
172 : Nachname des angemeldeten Benutzers
173 ; firstName
174 : Vorname des angemeldeten Benutzers
175 ; gender
176 : Geschlecht des angemeldeten Benutzers
177 ; groups
178 : Namen der Gruppen, denen der Benutzer angehört
179 ; id
180 : ID des angemeldeten Benutzers. (System-ID bei FORMCYCLE-Benutzern)
181 ; linkedId
182 : Ein Benutzerprofil kann einen sog. "linked identifier" haben. Dies ist der Identifikator eines anderen Benutzerprofils.
183 ; locale
184 : Sprache des angemeldeten Benutzers
185 ; location
186 : Ort des angemeldeten Benutzers
187 ; mail
188 : E-Mailadresse des angemeldeten Benutzers
189 ; phone
190 : Telefonnummer des angemeldeten Benutzers
191 ; pictureUrl
192 : URL zum Profilbild des angemeldeten Benutzers
193 ; profileUrl
194 : URL zum Profil des angemeldeten Benutzers
195 ; rawData
196 : 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.
197 ; role
198 : Rolle des angemeldeten Benutzers
199 ; title
200 : Titel des angemeldeten Benutzers
201 ; typedId
202 : Typ des [[Authentifikators>>doc:Formcycle.UserInterface.UserSettings.ExternalUsers.WebHome]], der vom Benutzer verwendet wurde, um sich anzumelden.
203 ; userName
204 : Benutzername des angemeldeten Benutzers
205
206 {{id name="sec_appointment_variables"/}}
207
208 === Terminplatzhaler ===
209
210 Terminplatzhalter können verwendet werden, wenn mit dem Formular [[Termine>>doc:Formcycle.Designer.Form.FormElements.Appointment.WebHome]] gebucht werden.
211
212 {{panel monospace="true" title="Syntax"}}
213 [%$&lt;Name&gt;%]
214 {{/panel}}
215
216 ; [%$APPOINTMENT_LIST%]
217 : 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.
218 ; [%$APPOINTMENT_LINK%]
219 : Erzeugt einen Link zu einer iCal-Datei, die sämtliche Termine des Vorgangs beinhaltet.
220
221 {{id name="sec_system_placeholder_html"/}}
222
223 === Systemplatzhalter für HTML-Templates ===
224
225 {{panel monospace="true" title="Syntax"}}
226 [%$&lt;Name&gt;(&lt;Parameter1&gt;,&lt;Parameter2&gt;)%]
227 {{/panel}}
228
229 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.
230
231 ; [%$ATTACHMENT_LIST%]
232 : 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.
233 ; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
234 : 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.
235 :; [%$ATTACHMENT_ZIP=Dateiname,Link-Text%]
236 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
237 :; [%$ATTACHMENT_ZIP=Dateiname%]
238 :: Erzeugt einen Link mit dem Text //Dateiname// zum Herunterladen der Datei, die den Dateinamen //Dateiname// erhält.
239 :; [%$ATTACHMENT_ZIP%]
240 :: Erzeugt einen Link mit dem Text //attachment.zip// zum Herunterladen der Datei, die den Dateinamen //attachment.zip// erhält.
241 ; [%$ATTACHMENT=Anhang,Link-Text,Dateiname%]
242 : 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:
243 :; [%$ATTACHMENT=Anhang,Link-Text,Downloadname%]
244 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Dateiname// erhält.
245 :; [%$ATTACHMENT=Anhang,Link-Text%]
246 :: Erzeugt einen Link mit dem Text //Link-Text// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
247 :; [%$ATTACHMENT=Anhang%]
248 :: Erzeugt einen Link mit dem Text //Anhang// zum Herunterladen des Anhangs mit dem Namen //Anhang//, der den Dateinamen //Anhang// erhält.
249
250 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.
251
252 === Textbausteinplatzhalter ===
253
254 {{panel monospace="true" title="Syntax"}}
255 [%$$&lt;Name&gt;%]
256 {{/panel}}
257
258 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.
259
260 === Aktionsplatzhalter ===
261
262 {{panel monospace="true" title="Syntax"}}
263 [%$&lt;Aktionsname&gt;.&lt;RückgabeWert&gt;%]
264 {{/panel}}
265
266 Einige Aktionen haben Rückgabewerte, die über diesen Platzhalter ausgelesen werden können.
267
268 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.
269
270 ; [%$<Aktionsname>.SUCCESS%]
271 : Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
272 ; [%$<Aktionsname>.COUNT%]
273 : Dieser Platzhalter wird im neuen Workflow nicht unterstützt.
274 : Rückgabe der Anzahl von Ergebnissen. Liefert Integer-Wert zurück.
275 ; [%$<Aktionsname>.RESULT%]
276 : Rückgabe eines einzelnen Ergebnis. Liefert String-Wert zurück.
277 ; [%$<Aktionsname>.RESULT[<Index>].<Bezeichner>%]
278 : 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.
279 ; [%$<Aktionsname>.ERROR_CODE%]
280 : Der geworfene Fehler-Code im Fehlerfall der Aktion.
281 ; [%$<Aktionsname>.ERROR_MESSAGE%]
282 : Die geworfene Fehler-Nachricht im Fehlerfall der Aktion.