Verowa-Connect

by Picture-Planet GmbH

Grundlagen

Platzhalter einfügen

In den Templates von Verowa Connect können diverse Platzhalter eingesetzt und beliebig mit HTML kombiniert werden. So lassen sich auf einfache Weise interessante Konstrukte realisieren. Platzhalter werden immer grossgeschrieben und in einfache geschweifte Klammern gefasst. Zu jedem Template-Typ stehen, je nach Einsatzzweck, etwas andere Platzhalter zur Verfügung. Beispiele:

<h1>{TITLE}</h1>

Kontakt: {ORGANIZER_NAME}

Die geschweiften Klammern kommen allfälligen Inline-CSS-Definitionen nicht in die Quere, da sie vom Parser serverseitig ersetzt werden und beim Client nicht mehr auftauchen.

Platzhalter für Personen

Platzhalter für Veranstaltungslisten

Platzhalter für Veranstaltungsdetails

Platzhalter für Dienstpläne

Einfache Bedingungen

Da gewisse Strukturen nur ausgegeben werden sollen, wenn die zugehörigen Felder auch Inhalt haben, lassen sich in Verowa Connect auch einfache Bedingungen realisieren. Die gebräuchlichste Syntax prüft, ob das zu prüfende Feld einen Inhalt hat bzw. grösser 0 ist. In den folgenden Beispielen wird der ganze Teil in den doppelten eckigen Klammern nur ausgegeben, wenn es auch wirklich einen Kontakt bzw. Mitwirkende gibt:

[[?ORGANIZER_NAME:<br />Kontakt: {ORGANIZER_NAME}]]

[[?COORGANIZER_NAMES:<p class="coorgs">Mitwirkende: {COORGANIZER_NAMES}</p>]]

Wenn sich die Bedingung auf dasselbe Feld wie die Anzeige bezieht, kann die Kurzform mit den doppelten Fragezeichen verwendet werden:

[[??:<p class="coorgs">Mitwirkende: {COORGANIZER_NAMES}</p>]]

Oder mit dem Gleichheitszeichen kann man auf exakte Werte prüfen. Im folgenden Beispiel wird der Wochentag rot eingefärbt, wenn es ein Sonntag ist:

<span[[?WEEKDAY_SHORT = So: style="color:red"]]>{WEEKDAY_LONG}</span>

Komplexere Bedingungen

Anhand des %-Zeichens kann geprüft werden, ob ein Feld eine Zeichenkette enthält. Im folgenden Beispiel prüfen wir, ob die Veranstaltung ein Gottesdienst ist; falls ja, möchten wir die Klasse „gottesdienst“ mitgeben. Der Platzhalter LAYER_IDS enthält alle der Veranstaltung zugeordneten Bereichsnummern, getrennt mit Strichpunkten. Zu prüfen, ob LAYER_IDS „1“ enthält – in diesem Beispiel die entsprechende Bereichsnummer für Gottesdienste –, wäre nicht zielführend, weil auch „14“ oder „31“ als Treffer gewertet würden. Wir suchen also nach „;1;“. Damit das möglich ist, beginnt und endet LAYER_IDS mit einem zusätzlichen Strichpunkt (z.B. „;3;16;23;31;“).

<div class="event[[?LAYER_IDS % ;1;: gottesdienst]]">

Zusätzlich lässt sich mit || eine Alternative angeben. Im folgenden Beispiel nennen wir die Kontaktperson bei Gottesdiensten «Prediger», bei allen anderen Veranstaltungen «Kontakt».

[[?LAYER_IDS % ;1;:Prediger||Kontakt]]: {ORGANIZER_NAME}

Bedingungen lassen sich auch verschachteln, z.B. so: Das Beispiel bezeichnet die Kontaktperson als «Prediger», wenn die Veranstaltung zum Bereich 1 gehört, sonst als «Kontakt». Die gesamte Zeile wird nur ausgegeben, wenn der Veranstaltung eine öffentliche Kontaktperson mitgegeben wurde.

[[?ORGANIZER_NAME:<p class="contact">[[?LAYER_IDS % ;1;:Prediger||Kontakt]]: {ORGANIZER_NAME}</p>]]

Ab der Version 3.3 können sich die Bedingungen auch auf Platzhalter beziehen. Im folgenden Beispiel wird das Thema, wenn es denn eines gibt, nur ausgegeben, wenn es nicht schon im Titel vorkommt oder gar damit identisch ist:

[[?TOPIC:[[?TITLE % {TOPIC}:<p class="topic">{TOPIC}</p>]]]]

Das nächste Beispiel gibt in einer Personenliste die Mailadresse aus, aber nur, wenn es sich nicht um die Person 116 handelt. Beachten Sie, dass PERSON_ID, anders als LAYER_IDS, ein Zahlenfeld ist, deshalb braucht es keine Strichpunkte (und es darf auch keine geben!). Die Negation wird nicht durch die Umkehrung der Abfrage erreicht, sondern dadurch, dass beim Erfüllen der Bedingung nichts ausgegeben wird, sondern nur im anderen Fall. Deshalb folgen hier auf den Doppelpunkt direkt trennende Pipes.

[[?EMAIL:[[?PERSON_ID % 116:||<li class="email"><a href="mailto:{EMAIL}">E-Mail</a></li>]]]]

Ein weiteres Beispiel gibt den Zusatztext aus, wenn die Veranstaltung entweder zur Liste 233 oder zur Liste 234 gehört. Da in den Bedingungen selbst derzeit keine Oder-Verknüpfungen möglich sind, muss der HTML-Teil wiederholt werden.

[[?ADD_TEXT_1:[[?LIST_IDS % ;233;:<div class="verowa_add_text_1">{ADD_TEXT_1}</div>||[[?LIST_IDS % ;234;:<div class="verowa_add_text_1">{ADD_TEXT_1}</div>]]]]]]

Für eine bessere Übersicht kann der Code auch gegliedert werden. Das folgende Beispiel aus einer Veranstaltungsliste gibt je nach Listenzugehörigkeit zur jeweiligen Veranstaltung eine andere Klasse aus, damit die Zeile z.B. mit einem passenden Piktogramm versehen oder eingefärbt werden kann.

[[?LIST_IDS % ;58; :
	<div class="vevent pfarrei_A" data-id="{EVENT_ID}">
||
	[[?LIST_IDS % ;45; :
		<div class="vevent pfarrei_B" data-id="{EVENT_ID}">
	||
		[[?LIST_IDS % ;46; :
		<div class="vevent pfarrei_C" data-id="{EVENT_ID}">
			||
			<div class="vevent keine_pfarrei" data-id="{EVENT_ID}">
			]]
		]]
	]]
]]