Was sind bedingte Abschnitte?

Bedingte Abschnitte sind Bereiche in einem Dokument, die je nach Datenwerten ein- oder ausgeblendet werden können. Wenn die angegebene Bedingung erfüllt ist, wird der Inhalt des entsprechenden bedingten Abschnitts im Dokument angezeigt. Andernfalls wird er ausgeblendet.

Typische Anwendungsfälle:

  • Personalisierte Rechnungstexte basierend auf Kundentyp (Privat/Geschäft)
  • Tarifspezifische Informationen und Konditionen
  • Saisonale Hinweise (Sommer-/Winterverbrauch)
  • Textbausteine je nach Vertragsart
  • Mahnungseskalation basierend auf Zahlungshistorie

Bedingte Abschnitte werden oft in Kombination mit Komponenten und Teil‑Vorlagen verwendet, um Textbausteine zentral zu verwalten und wiederverwendbar zu machen.

Entscheidungslogik-Flowchart

<<cs_bedingung>>
Bedingung erfüllt?
TRUE
Inhalt anzeigen
ELSE
<<else>>
Else-Inhalt
anzeigen
FALSE
Abschnitt
überspringen
<<es_>>

Grundlegende Syntax

Die allgemeine Syntax für einen bedingten Abschnitt ist:

<<cs_bedingungsName>>
[Der Text und die Elemente des bedingten Abschnitts.]
<<es_bedingungsName>> oder einfach <<es_>>

Die End-Syntax <<es_BEDINGUNGSNAME>> sollte mit der Start-Syntax <<cs_BEDINGUNGSNAME>> übereinstimmen, um Konflikte beim Rendern zu vermeiden.

  • Die bedingten Start- und Endfelder werden aus dem resultierenden Dokument entfernt
  • Wenn sich jedes Feld auf einer eigenen Zeile befindet, wird die gesamte Zeile entfernt
<<cs_istPremiumkunde>>
Ihre exklusiven Vorteile:

• Kostenloser 24/7 Support-Hotline
• Erweiterte Garantie auf alle Anlagen
• 10% Preisnachlass auf Zusatzprodukte
• Bevorzugte Terminvergabe für Wartungen
<<es_istPremiumkunde>>

Verwendung von Ausdrücken in Bedingungen

Bedingte Abschnitte können auch Ausdrücke, Variablen und Bereichsspezifizierer verwenden. Ausdrücke dafür werden in geschweifte Klammern gesetzt und müssen einen boolschen Wert (true oder false) zurückgeben.

Ihre Stromrechnung für das Jahr 2024

<<cs_{jahresverbrauch > 3500}>>
HINWEIS: Hoher Energieverbrauch
<<es_>>

<<cs_{jahresverbrauch <= 3500}>>
Ihr Energieverbrauch liegt im normalen Bereich.
<<es_>>

Beachten Sie, dass die { }-Klammern nur auf den Ausdruck angewendet werden - nicht einschließlich des "cs_". Der Ausdruck sollte zu true oder false auswerten.

Erweiterte Ausdrücke und Variablen

Bedingte Abschnitte können komplexere Ausdrücke, Variablen und Bereichsspezifizierer verwenden:

<<cs_{(verbrauchWerte[0]+verbrauchWerte[1])>5000}>>
Ihr kombinierter Verbrauch der letzten zwei Monate überschreitet 5.000 kWh.
<<es_>>

<<cs_{$telefonnummer!=null&&$telefonnummer!=''}>>
Bei Rückfragen erreichen Sie uns unter: <<$telefonnummer>>
<<es_>>

Erweiterte Syntax-Möglichkeiten:

  • Array-Zugriff: verbrauchWerte[0] für das erste Element
  • Mathematische Operationen: Addition, Subtraktion, Vergleiche
  • Null-Prüfungen: !=null für Existenz-Checks
  • Leere String-Prüfungen: !='' für gefüllte Werte
  • Logische Verknüpfungen: && (UND), || (ODER)

Tipp: Komplexe Bedingungen mit Variablen vereinfachen

Für sehr komplexe Ausdrücke können Sie Platzhalter und Variablen verwenden, um die Bedingungslogik in der Vorlage zu definieren:

<<$istHochverbraucher = {(verbrauchWerte[0]+verbrauchWerte[1])>5000 && kundentyp=='geschäftlich'}>>

<<cs_$istHochverbraucher>>
Spezielle Beratung für Großverbraucher verfügbar.
<<es_>>

Wichtig: Die Variable muss immer zu true oder false auswerten, damit sie in bedingten Abschnitten verwendet werden kann.

Kritische Syntax-Regel für String-Vergleiche:

In Output.Rocks müssen String-Werte in Bedingungen immer mit einfachen Anführungszeichen (') angegeben werden:

<<cs_{kundentyp=='geschäftlich'}>>    ✓ Richtig
<<cs_{kundentyp=="geschäftlich"}>>    ✗ Falsch

Diese Regel gilt für alle String-Vergleiche in bedingten Ausdrücken!

If-Else Struktur

Bedingte Abschnitte erlauben auch alternative Bedingungen, die mit einer If-Then-Else-Struktur getestet werden können. Am einfachsten kann ein bedingter Abschnitt etwas testen und <<else>> kann alle Nicht-Übereinstimmungen mit dem bedingten Abschnittstest umfassen.

<<cs_zahlungsrückstand>>
MAHNUNG: Bitte begleichen Sie Ihren offenen Betrag.
<<else>>
Vielen Dank für Ihre pünktliche Zahlung.
<<es_>>

Konditionale Else-If Ketten

Das Else-Feld kann auch Datenelemente testen und Ausdrücke auf die gleiche Weise wie das cs_-Feld verwenden:

<<cs_{kundentyp=='geschäftlich'}>>
Geschäftskunden-Tarif aktiv
<<else_{kundentyp=='premium'}>>
Premium-Tarif aktiv
<<else>>
Standard-Tarif aktiv
<<es_>>

Cross-Referenzen zu verwandten Funktionen: