Felder
Bedingte Abschnitte
Steuern Sie die Anzeige von Inhalten basierend auf Bedingungen und Daten
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>><<else>>anzeigen
ü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:
!=nullfü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"}>> ✗ FalschDiese 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:
- Wiederholende Abschnitte für Listen und Tabellen
- Optionale Absätze für einfache Ein/Aus-Logik
- Ausdrücke für komplexe Bedingungslogik
- Logik-Funktionen für erweiterte Vergleiche