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