Platzhalter für Rich-Text-Vorlage

vFunktionsprinzip
vFeldtypen und ihre Ausgabe
vFunktionen
vSpezielle 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

FeldtypenBemerkung
zeile, zeilen, email, auswahl, liste, verstecktDiese Feldtypen werden bei der Ausgabe alle gleich behandelt. Der Text wird 1:1 ausgegeben.
personFür die Ausgabe von Personendaten benötigen Sie die Funktion $person (siehe unten). Damit können Sie bestimmen, welche Personendetails angezeigt werden sollen.
checkboxenDieser 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, dateiDiese 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:
  • 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“
Folgende Vergleichsoperatoren werden unterstützt:
  • = (gleich)
  • <> (ungleich)
  • >= (grösser oder gleich)
  • <= (kleiner oder gleich)
  • > (grösser)
  • < (kleiner)
Wenn kein Vergleichsoperator und nur ein interner Name verwendet wird, ist die Bedingung in folgenden Fällen wahr:
  • Bei Feldern vom Typ zeile, zeilen, email, auswahl, liste und versteckt:
    Wenn der Inhalt eine Zahl <> 0 ist oder eine Zeichenkette enthält. z.B. "-2" oder "Muster", nicht jedoch "0" oder "" (leeres Feld)
  • Bei Feldern vom Typ person: Wenn eine Person ausgewählt ist
  • Bei Feldern vom Typ checkboxen: Wenn mindestens eine Option angekreuzt wurde - ausser die einzige ausgewählte Checkbox hat den Wert 0.
  • Die Felder vom Typ bewertung und datei können zur Zeit in Bedingungen nicht verwendet werden

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“
Der letzte Parameter (Ausdruck falls unwahr) kann weggelassen werden.

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:
DetailBedeutung
nameNachname
vornameVorname
vorname_nameVor- und Nachname
name_vornameNach- und Vorname komma-separiert
titelAkad. Titel
email_bevorzugtBevorzugte E-Mail-Adresse
email_alternativAlternative E-Mail-Adresse
email_orgZHdK-E-Mail-Adresse
email_pPrivate E-Mail-Adresse
telefon_pPrivate Telefonnummer
telefon_org_internZHdK-Telefonnummer (Kurzform)
telefon_orgZHdK-Telefonnummer (vollständig)
telefon_gGeschäftliche Telefonnummer
telefon_mMobiltelefonnummer
büroBürobezeichnung
plzPostleitzahl
ortOrtschaft
landLand
anschriftAnschrift (mehrzeilig)
anschrift_flachAnschrift (einzeilig)
jahrgangJahrgang
benutzernameZHdK-Benutzername
statusTätigkeit
benutzergruppenBenutzergruppen
studienjahrgang_nrNummer des Studienjahrgangs
studienjahrgangBezeichnung des Studienjahrgangs
studiengang_nrNummer des Studiengangs
studiengangBezeichnung des Studiengangs
idPersonen-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