Funktionsprinzip |
Feldtypen und ihre Ausgabe |
Funktionen |
Spezielle Funktionen |
Funktionsprinzip
Eine Vorlage enthält einen oder mehrere Platzhalter in Form von speziellen Zeichenketten. An Stelle der Platzhalter werden bei der Generierung eines Serienbriefs die Antworten des Benutzers auf bestimmte Fragen eingesetzt.Was genau beim Einsetzen der Werte passiert, kann mithilfe von Funktionen beeinflusst werden. Wenn keine Funktion verwendet wird, wird der Wert unverändert eingesetzt (einfacher Platzhalter).
Ein einfacher Platzhalter sieht folgendermassen aus:
##$ Interner Name ##
Beispiele:
##$Anrede##
##$ anrede ##
##$ email kunde ##
Feldtypen und ihre Ausgabe
Feldtypen | Bemerkung |
zeile, zeilen, email, auswahl, liste, versteckt | Diese Feldtypen werden bei der Ausgabe alle gleich behandelt. Der Text wird 1:1 ausgegeben. |
person | Für die Ausgabe von Personendaten benötigen Sie die Funktion $person (siehe unten). Damit können Sie bestimmen, welche Personendetails angezeigt werden sollen. |
checkboxen | Dieser Feldtyp erlaubt die Auswahl mehrerer Werte. Standardmässig werden die Werte folgendermassen ausgegeben: Wert 1, Wert 2 und Wert 3 Mit der Funktion $separator (siehe unten) können Sie die Art der Auflistung selbst bestimmen. |
bewertung, datei | Diese Feldtypen sind zur Zeit nicht für die Ausgabe vorgesehen. |
Funktionen
Ein Platzhalter, der eine oder mehrere Funktionen verwendet, hat folgende Struktur:##$ Interner Name $funktion1: parameter | parameter | parameter $funktion2 $funktion3: parameter ##
Der Name der Funktion wird mit vorangestelltem Dollarzeichen $ notiert. Je nach Funktion sind unterschiedlich viele Parameter zulässig, die mit einem vertikalen Strich | getrennt werden. Die Funktionen werden von links nach rechts ausgewertet.
Zur Zeit stehen erst wenige Funktionen zur Verfügung. Wir möchten das Angebot aber gerne erweitern, wenn ein Bedarf besteht. Ideen und Wünsche nehmen wir jederzeit unter webapp.admin@zhdk.ch entgegen.
$prepost
##$ feldname $prepost:Dieser Inhalt wird vor|und dieser danach ausgegeben| bedingung ##Mit der Funktion $prepost können Sie automatisch vor und nach dem eingefügtem Text zusätzlichen Inhalt ausgeben. Der zusätzliche Inhalt wird aber nur ausgegeben, wenn der eingefügte Text nicht leer ist. Dadurch hinterlassen optionale Felder keine unschönen Leerzeilen im Dokument, falls sie nicht ausgefüllt werden.
Wann ist ein Feld leer? Diese Funktion interpretiert ein Feld als leer, falls der Text eine Länge von 0 Zeichen hat. Das bedeutet, dass der Inhalt "0" oder "-" als nicht-leer betrachtet werden.
Ausserdem kann die Ausgabe noch von einer zusätzlichen Bedingung abhängig gemacht werden. Nur wenn die Bedingung wahr ist, erfolgt die Ausgabe.
Parameter 1: | Inhalt, der vor dem Text ausgegeben wird |
Parameter 2 (optional): | Inhalt, der nach dem Text ausgegeben wird |
Parameter 3 (optional): | Bedingung. Dies ist ein Ausdruck mit optionalem Vergleichsoperator. Nur wenn diese Bedingung wahr ist, erfolgt die Ausgabe. Sie können folgende Elemente verwenden und miteinander vergleichen:
|
Beispiel 1:
##$ test 1 ####$ test 2 $prepost:
####$ test 3 $prepost:
##
In diesem Beispiel wird die Funktion $prepost benutzt, um Leerzeilen bei optionalen Eingaben zu vermeiden. Es wird nur der 1. Parameter verwendet. Indem die ENTER-Taste bzw. Umschalt-ENTER-Taste nach "$prepost:" gedrückt wird, wird somit vor dem Text eine neue Zeile begonnen.
Beispiel 2:
##$ anzahl cds $prepost:Sie haben | CDs bestellt.##
Falls CDs bestellt wurden, erscheint der Inhalt "Sie haben x CDs bestellt." in der Ausgabe, andernfalls wird dieser Satz komplett weggelassen.
Beispiel 3:
##$ anzahl cds $prepost:Bestellte CDs: | Die CDs werden als Paket verschickt.| anzahl cds > 4 ##
##$ anzahl cds $prepost:Bestellte CDs: | Die CDs werden als Brief verschickt.| anzahl cds <= 4 ##
Je nach Anzahl CDs erscheint entweder der Hinweis "Die CDs werden als Paket verschickt" oder "Die CDs werden als Brief verschickt".
Beispiel 4:
##$ anrede $prepost:Sehr geehrte || anrede = „Frau“ ####$ anrede $prepost:Sehr geehrter || anrede = „Herr“ ##
In diesem Beispiel wird abhängig vom Feld "anrede" die korrekte Begrüssung konstruiert:
"Sehr geehrter Herr" bzw. "Sehr geehrte Frau"
$if
##$ $if: bedingung | Ausdruck falls wahr | Ausdruck falls unwahr ##Die Bedingung bietet die gleichen Möglichkeiten wie selbige bei der Funktion $prepost - also 6 verschiedene Vergleichsoperatoren (= <> <= >= < >). Siehe oben für weitere Informationen.
Der Ausdruck kann ebenfalls wie in der Funktion $prepost aus folgenden gewählt werden:
- Verweise auf Formularfelder (mit Hilfe des internen Namens)
- numerische Ausdrücke (z.B. "9.5" ohne Anführungszeichen)
- Zeichenfolgen (z.B. "Bestellung" mit Anführungszeichen).
Zeichenfolgen müssen mit doppelten Anführungszeichen beginnen und enden. Es werden sowohl gerade Anführungszeichen, als auch typographische Varianten unterstützt. Falls die Zeichenfolge selbst Anführungszeichen enthält, müssen diese zur Unterscheidung jeweils verdoppelt werden. Beispiel für Verdoppelung: „Ein „„heikler““ Inhalt“
Beispiel 1:
##$ $if: anzahl cds > 4 | "Versand als Paket" | "Versand als Brief" ##
Ausgabe von "Versand als Paket" falls mehr als 4 CDs bestellt wurden bzw. "Versand als Brief" bei einer geringeren Menge.
Beispiel 2:
##$ $if: grund = "anderer" | anderer grund | grund ##
Ausgabe des Inhalts des Feldes "anderer grund" bzw. des Feldes "grund" abhängig davon, ob ein anderer Grund angegeben wurde.
$person
##$ feldname $person: detail ##Diese Funktion wird benutzt, um Personendaten auszugeben (meist in Feldern vom Typ "Person").
Hinweis: Personendaten werden nur ausgegeben, wenn sie von der Person entsprechend freigegeben wurden oder Sie über eine Administrator-Berechtigung verfügen.
Die folgenden Details können zur Zeit abgefragt werden:
Detail | Bedeutung |
name | Nachname |
vorname | Vorname |
vorname_name | Vor- und Nachname |
name_vorname | Nach- und Vorname komma-separiert |
titel | Akad. Titel |
email_bevorzugt | Bevorzugte E-Mail-Adresse |
email_alternativ | Alternative E-Mail-Adresse |
email_org | ZHdK-E-Mail-Adresse |
email_p | Private E-Mail-Adresse |
telefon_p | Private Telefonnummer |
telefon_org_intern | ZHdK-Telefonnummer (Kurzform) |
telefon_org | ZHdK-Telefonnummer (vollständig) |
telefon_g | Geschäftliche Telefonnummer |
telefon_m | Mobiltelefonnummer |
büro | Bürobezeichnung |
plz | Postleitzahl |
ort | Ortschaft |
land | Land |
anschrift | Anschrift (mehrzeilig) |
anschrift_flach | Anschrift (einzeilig) |
jahrgang | Jahrgang |
benutzername | ZHdK-Benutzername |
status | Tätigkeit |
benutzergruppen | Benutzergruppen |
studienjahrgang_nr | Nummer des Studienjahrgangs |
studienjahrgang | Bezeichnung des Studienjahrgangs |
studiengang_nr | Nummer des Studiengangs |
studiengang | Bezeichnung des Studiengangs |
id | Personen-ID |
Beispiel 1:
Platzhalter: ##$ empfänger $person: vorname_name ##
Ausgabe: Hans Muster
Beispiel 2:
Platzhalter: ##$ empfänger $person: email_org ##
Ausgabe: hans.muster@zhdk.ch
$separator
##$ feldname $separator:sep 1|sep 2|sep 3|...##Diese Funktion wird benutzt, um festzulegen, wie mehrere Werte in eine Zeichenkette zusammengefügt werden. Typischerweise wird diese Funktion mit Feldern vom Typ "Checkboxen" verwendet.
Alle Parameter sind identisch, wobei nur der erste zwingend benötigt wird. Jeder Parameter bestimmt den Zwischenraum zwischen den aufeinanderfolgenden Teilwerten.
Falls mehr als ein Parameter angegeben wird, wird der letzte Parameter speziell interpretiert: Dieser wird dann jeweils nur benutzt, um die letzten zwei Teilwerte zu verbinden.
Beispiel 1:
Platzhalter: ##$ wahl ##
Ausgabe: eins, zwei, drei und vier
Beispiel 2:
Platzhalter: ##$ wahl $separator: / ##
Ausgabe: eins / zwei / drei / vier
Beispiel 3:
Platzhalter: ##$ wahl $separator:, | oder ##
Ausgabe: eins, zwei, drei oder vier
Beispiel 4:
Platzhalter: ##$ wahl $separator:
##
Ausgabe:
eins
zwei
drei
vier
Spezielle Funktionen
Autor der Antwort
##$ $creator ##Dieser Platzhalter steht für den Benutzer, der zum Zeitpunkt der Antwort eingeloggt war. Verwenden Sie diese Funktion zusammen mit $person, um Details auszugeben.
Beispiel:
Platzhalter: ##$ $creator $person: vorname_name ##
Ausgabe: Hans Muster
Erstelldatum
##$ $created ##Dieser Platzhalter enthält das Erstelldatum der Antwort.
Beispiel:
Platzhalter: ##$ $created ##
Ausgabe: 05.07.2013 10:09
Änderungsdatum
##$ $modified ##Dieser Platzhalter enthält das Änderungsdatum der Antwort (Je nach Formularkonfiguration können Antworten bearbeitet werden).
Beispiel:
Platzhalter: ##$ $modified ##
Ausgabe: 05.07.2013 10:09