Wie kann ich die Ausgabe von Platzhaltern bedingt formatieren?

Mit Version 5.0.26 steht erstmals die Möglichkeit einer bedingten Formatierung der Platzhalter zur Verfügung. Damit lassen sich Bedingungen formulieren unter denen ein bestimmter Platzhalter dargestellt wird oder nicht.

Gesprochenes Beispiel : Wenn das Feld Strasse leer ist, dann gibt auch die Hausnummer nicht aus.

Oder: Wenn das Feld Zusatzinformation leer ist, dann erzeuge keine Leerzeile

Um dies umzusetzen, wurden die Bedingung (engl. Condition) für die Platzhalter eingeführt. Die Konfiguration kann für die Platzhalter unter Administration -> Einstellungen -> Erweitert -> Platzhalter erfolgen.

Syntax: ${<Bedingung>??<Ausgabe, wenn Bedingung erfüllt>::<Ausgabe, wenn Bedingung nicht erfüllt>}$

${ ist als Bedingungsprefix und }$ als Bedingungspostfix definiert und muss zur vollständigen Verarbeitung immer vorhanden sein.

Operatoren:

?? trennt die Bedingung von den beiden Aktionsblöcken.
:: trennt die „Positiv“-Aktion von der „Negativ“-Aktion
&& ist die UND (AND)-Verknüpfung von mehreren Bedingungen
== vergleicht einen Platzhalter mit einem Wert
!= prüft auf Ungleichheit des Platzhalters auf einen Wert

Fallbeispiele:

{%a:add%==??%a:str%::%a:add%}$
(Gelesen: Falls der Platzhalter a:add nicht gesetzt ist, dann gib den Platzhalter a:str aus, ansonsten a:add)

${%a:str%!=Blaubeerweg??%a:str% %a:no%::%a:str%}$
(Gelesen: Falls der Platzhalter a:str nicht den Wert Blaubeerweg hat, dann gib den Platzhalter a:str gefolgt von a:no aus, ansonsten a:str)

${%a:str%==Blaubeerweg&&%a:no%==1??Mein Zuhause::%a:str% %a:no%}$
(Gelesen: Falls der Platzhalter a:str den Wert Blaubeerweg hat und a:no den Wert 1, dann gib „Main Zuhause“ aus, ansonsten den Platzhalter a:str gefolgt von a:no)

Dieser Beitrag hat 9 Kommentare

  1. Georg

    In diesem Forumsteil kann ich kein Bild hochladen. Ich versuche es bei einem Freehoster:

  2. Georg

    Die Erweiterung zum Starten von Anwendungen parst nur die erste bedingte Formatierung, so dass Max Mustermanns Nummer mit obigem zweiten Format als
    (${30!=621??(030) ::}$123456
    statt
    (030) 123456
    übergeben wird. Im Journal ist es ohne Fehler.

    Viele Grüße
    Georg

      1. Hallo Georg,

        danke für die Info. Habe gerade festgestellt, dass die Erweiterung zum Starten von Anwendungen noch eine „alte“ Methode zum Parsen der Rufnummern nutzt, Werde ich zum nächsten Update fixen.

        Viele Grüße
        Thilo

        1. Georg

          Hallo Thilo,

          die Liste „Journal“ bzw. „Kontakte“ zeigt das geparste Ergebnis. Beim Bearbeiten eines einzelnen Eintrags sehe ich den ungeparsten Variableninhalt. Ich habe jetzt nicht ausprobiert, was mit der Rufnummer passiert, wenn ich bei einem Kontakt den Namen oder die Kategorie ändere und das Programm diese Zeichenkette als Telefonnummer zurück erhält.

          Viele Grüße
          Georg

  3. Georg

    Diese Dokumentation vermisse ich in den PDFs jam50-docu.pdf und jam50-placeholder.pdf.

    Ich habe mir ein dynamisches callernumber-Format gebastelt – geschachtelt hat es nicht komplett funktioniert:
    ${%intareacode%!=49??00%intareacode% (%areacode%) %callnumber%::${%areacode%!=621??(0%areacode%) %callnumber%::%callnumber%}$}$

    So funktioniert es, aber bei einem Anruf aus dem Ausland nur, wenn sich die beiden Ortsvorwahlen unterscheiden:
    ${%intareacode%!=49??00%intareacode% ::}$${%areacode%!=621??(0%areacode%) ::}$%callnumber%

    Gibt es auch Variable, die die eigene Länder- und Ortsvorwahl enthalten?

    Viele Grüße
    Georg

    1. Hallo Georg,

      aktuell kann auf die konfigurierten Variablen wie Ländercode und Ortsvorwahl über die bedingte Formatierung nicht zugreifen. Ich kann das Genre mal an Anforderung mit aufnehmen.

      Viele Grüße
      Thilo

Schreibe einen Kommentar