Wie können wir Ihnen helfen?

Flexiblere Exporte mit Bedingungen

Mit Bedingungen können Sie in Export-Dokumenten Inhalte abhängig davon ausgeben, ob bestimmte Voraussetzungen erfüllt sind: so können Sie Preise nur dann ausgeben, wenn diese unter 10.000 EUR liegen und bei höheren Preisen stattdessen „auf Anfrage.“ Bei Rahmenmaßen kann der Zusatz „gerahmt“ nur dann ausgegeben werden, wenn am Werk auch entsprechende Maße hinterlegt sind.

Bedingungen stehen nur in Dokument- und in Text-Exporten zur Verfügung.

Was sind Bedingungen?

Bedingungen können genutzt werden, wenn die Ausgabe von Informationen an Bedingungen geknüpft werden soll: trifft eine vorgegebene Bedingung zu, wird die gewünschte Information im Dokument ausgegeben. Wird die Bedingung nicht erfüllt, etwa weil eine Information fehlt, können Sie festlegen, ob diese Info entweder ganz weggelassen wird oder ein Alternativtext erscheinen soll.

Ein Beispiel:  Mit dieser Bedingung (im Beispiel rot markiert) wird die Edition nur ausgegeben, wenn im Editionsfeld etwas eingetragen wurde. Ist das Feld leer, wird statt dessen automatisch das Wort „Unikat“ ausgegeben.

${w.ArtistFirstLast}
${w.Title}, ${w.Year}
${w.Technique}
${w.ExtendedSize}
[#if w.Edition != ""]
Ed. ${w.Edition}
[#else]
Unikat
[/#if]
Werk mit Editionsangabe:
Vorname Nachname
Werktitel, Jahr
Technik
Maße
Ed. 2/5    (eingetragene Edition: 2/5)
Werk ohne Editionsangabe:
Vorname Nachname
Werktitel, Jahr
Technik
Maße
Unikat    (keine Editionsangabe)

Grundlagen von Bedingungen

Um Bedingungen in Ihren Text- und Dokument-Exportvorlagen zu nutzen, setzen Sie einen Textblock, für den eine Bedingung gelten soll, zwischen zwei Markierungen: Eine Anfangsmarkierung [#if Bedingung], in der die gewünschte Bedingung definiert wird, und eine Endmarkierung [/#if], die das Ende des Textblocks anzeigt. Der von den Markierungen umschlossene Text wird dann nur ausgegeben, wenn die Bedingung aus der Anfangsmarkierung zutrifft. Die Markierungen selbst werden im Export vollständig entfernt. Die einfachste Variante der Bedingung sieht so aus:

[#if Bedingung]
Beispieltext
[/#if]

Optional können weitere alternative Bedingungen verwendet werden, die dann geprüft werden, wenn die erste Bedingung nicht zutrifft. Sie können auch einen Text angeben, der immer dann ausgegeben wird, wenn keine der Bedingungen zutrifft:

[#if Bedingung 1]
Beispieltext, wenn Bedingung 1 zutrifft
[#elseif Bedingung 2]
Beispieltext, wenn Bedingung 1 nicht, aber Bedingung 2 zutrifft
[#else]
Beispieltext, wenn keine der zwei Bedingungen zutrifft
[/#if]

Sobald eine der Bedingungen zutrifft, wird die Prüfung abgebrochen. Wenn also z.B. Bedingung 1 und Bedingung 2 beide zutreffen, wird nur der Text für Bedingung 1 ausgegeben, da die Prüfung nach der Erfüllung von Bedingung 1 abgebrochen wird.

Tip: Bedingungen dürfen auch verschachtelt werden. Der von der Bedingung abhängige Textblock darf also selber wieder Bedingungen enthalten.

Bedingungen formulieren

Eine Bedingung ist eine Aussage (Bsp. die Rahmenmasse sind nicht leer), die geprüft wird, und dann entweder wahr (es gibt Rahmenmaße) oder falsch (es gibt keine Rahmenmaße) ist. Dabei wird der Wert eines Datensatzes (etwa ein Werk oder ein Kontakt) auf eine seiner Eigenschaft geprüft: z.B. „ist das Feld Edition eines Werkes leer“, „ist der Werkstatus eines Werkes verkauft“ oder „enthalten die Kategorien eines Kontaktes «VIP»“?

Die zu prüfende Eigenschaft des Datensatzes (Werk oder Kontakt) wird in den Bedingungen exakt wie der entsprechende Platzhalter geschrieben, wie er bereits aus unseren Vorlagen bekannt ist. In Bedingungen entfallen aber das Dollar-Zeichen und die geschweiften Klammern; die Edition wird also z.B. nur als w.Edition geschrieben.

Die wichtigsten Aussagen werden in der folgenden Übersicht mit Beispielen erläutert.

Ist gleich =
[#if w.soldStatus = "verkauft" ]
Der Status des Werkes ist gleich (=) „verkauft“.
[#if w.soldState = 3 ]
Der Statuscode des Werkes ist gleich 3 (Code für verkauft, sprachunabhängig).
Ist nicht gleich !=
[#if w.soldStatus != "verfügbar" ]
Der Status des Werkes ist nicht gleich (!=)  „verfügbar“.
[#if w.soldState != 0 ]
Der Statuscode des Werkes ist nicht gleich 0 (Code für verfügbar, sprachunabhängig).
Ist leer = ""
[#if w.Edition = "" ]
Die Eigenschaft Edition des Werkes ist gleich (=) leerer Text („“).
Ist nicht leer != ""
[#if w.Edition != "" ]
Die Edition des Werkes ist nicht gleich (!=) leerer Text („“).
Ist grösser als gt
[#if w.PriceNetValue gt 10000 ]
Der Nettopreis des Werkes ist grösser als (gt, greater than) 10000.
Achtung: es können nur Zahlen sinnvoll verglichen werden, also zB. nur Preisangaben ohne Währungsangabe, es müssen daher die entsprechenden Value-Platzhalter verwendet werden: statt w.PriceNet (exportiert den Text „100,00 EUR“) dann w.PriceNetValue (exportiert die Zahl 100) oder w.PriceGrossValue!
Ist kleiner als lt
[#if w.PriceNetValue lt 10000 ]
Der Nettopreis des Werkes ist kleiner als (lt, lower than) 10000.
Achtung: es können nur Zahlen verglichen werden, bitte Value-Platzhalter verwenden!
Enthält ?contains("Suchtext")
[#if c.categories?contains("VIP") ]
Die Kategorien des Kontaktes enthalten (?contains) den Suchtext („VIP“).
[#if c.categories?lower_case?contains("vip") ]
Die kleingeschriebenen (?lower_case) Kategorien des Kontaktes enthalten (?contains) den Suchtext („vip“) (berücksichtigt keine Gross- und Kleinschreibung).
Enthält nicht ! ?contains("Suchtext")
[#if ! c.categories?lower_case?contains("vip") ]
Die kleingeschriebenen (?lower_case) Kategorien des Kontaktes enthalten (?contains) nicht (!) den Suchtext („vip“) (berücksichtigt keine Gross- und Kleinschreibung).