Funktionen & Logik
Übersicht: Feld-Typen und Datenquellen
Einführung in die Verwendung von Feldern, Ausdrücken und Funktionen in Output.Rocks Vorlagen.
Funktionen in Output.Rocks
Output.Rocks bietet leistungsstarke Funktionen zur dynamischen Verarbeitung von Daten in Ihren Vorlagen. Diese Funktionen ermöglichen es Ihnen, Dokumente zu erstellen, die intelligent auf die bereitgestellten Daten reagieren.
Die Verbindung zwischen JSON-Daten und Vorlagen
In Output.Rocks werden Daten in Form von JSON-Objekten an die Vorlagen übergeben. Diese Strukturen bilden die Grundlage für die dynamische Dokumentenerstellung:
{
"kunde": {
"vorname": "Max",
"nachname": "Mustermann",
"kundennummer": "KD-2024-001",
"vertragsart": "Ökostrom Premium",
"adresse": {
"strasse": "Musterweg 42",
"plz": "12345",
"stadt": "Musterstadt"
}
},
"vertrag": {
"nummer": "V-2024-001",
"beginn": "2024-01-01",
"tarif": "Ökostrom Premium",
"grundpreis": 12.95,
"arbeitspreis": 0.32
},
"verbrauch": {
"aktuell": 3500,
"vorjahr": 3200,
"prognose": 3600,
"historie": [
{ "jahr": "2022", "kwh": 3100 },
{ "jahr": "2023", "kwh": 3200 },
{ "jahr": "2024", "kwh": 3500 }
]
}
}Das Grundprinzip von Output.Rocks Feldern
Felder sind die Grundbausteine für den Zugriff auf Daten in den Vorlagen. Sie werden von doppelten spitzen Klammern umschlossen und können verschiedene Funktionen erfüllen:
<<kunde.vorname>>Alle Output.Rocks-Felder beginnen mit << und enden mit >>. Dazwischen steht der Name des Feldes, manchmal mit zusätzlichen Präfixen oder Parametern.
Gut zu wissen: Technisch bestimmt nur das letzte Zeichen des abschließenden Tags >>, wie die eingesetzten Daten beim Rendering formatiert werden.
Feldtypen im Überblick
Output.Rocks bietet verschiedene Arten von Feldern für unterschiedliche Zwecke:
Textfelder ersetzen einen Platzhalter durch den entsprechenden Datenwert:
Vorlage:
Sehr geehrte(r) Herr/Frau <<kunde.nachname>>,
Ihre Stromrechnung für <<abrechnungsperiode.monat>> beträgt <<rechnung.gesamtbetrag>> €.Verwendung:
- Kundendaten einsetzen
- Rechnungsbeträge anzeigen
- Vertragsinformationen einfügen
- Adressen und Kontaktdaten
Textfelder unterstützen verschachtelte JSON-Strukturen über die Punktnotation: kunde.adresse.strasse
Erweiterte Feldtypen für komplexe Strukturen
Bedingte Abschnitte steuern die Anzeige von Inhalten basierend auf Datenwerten:
Vorlage:
<<cs_{verbrauch.aktuell > verbrauch.vorjahr}>>
📈 Ihr Stromverbrauch ist gegenüber dem Vorjahr um <<{verbrauch.aktuell - verbrauch.vorjahr}>> kWh gestiegen.
Wir empfehlen Ihnen unsere Energiespartipps.
<<else_{verbrauch.aktuell < verbrauch.vorjahr}>>
📉 Glückwunsch! Sie haben <<{verbrauch.vorjahr - verbrauch.aktuell}>> kWh eingespart.
<<else>>
➡️ Ihr Verbrauch ist konstant geblieben.
<<es_>>Anwendungsfälle:
- Personalisierte Verbrauchsanalysen
- Tarifspezifische Informationen
- Saisonale Hinweise
- Kundentypspezifische Inhalte
Diagnose-Werkzeuge
Output.Rocks bietet Diagnosefunktionen, die bei der Fehlersuche helfen, indem sie Daten im generierten Dokument anzeigen:
<<dump:$top>> // Zeigt alle verfügbaren Daten
<<dump:kunde>> // Zeigt nur Kundendaten
<<dump:$this>> // Zeigt aktuellen Kontext in SchleifenDiagnose-Felder sollten nur während der Entwicklung verwendet und vor der Produktivschaltung entfernt werden, da sie große Datenmengen ausgeben können.
Nächste Schritte
Einfache Textfelder
Beginnen Sie mit grundlegenden Datenfeldern für Namen, Adressen und einfache Werte
Bedingte Abschnitte
Erstellen Sie intelligente Vorlagen mit If-Then-Else Logik für personalisierte Inhalte
Wiederholende Abschnitte
Generieren Sie dynamische Listen und Schleifen für Tabellen und Aufzählungen
Tabellenfunktionen
Meistern Sie komplexe Datenstrukturen mit erweiterten Tabellen- und Sortierfunktionen
Ausdrücke & Berechnungen
Nutzen Sie mathematische Operationen und Funktionen für dynamische Berechnungen
Diagnose-Werkzeuge
Debuggen Sie Ihre Vorlagen mit Diagnose-Feldern und Datenanalyse-Tools