Druckvorlagen
Druckvorlagen verwandeln einen Datensatz samt Positionen in gebrandetes HTML, das der Browser druckt oder als PDF speichert — Rechnungen, Angebote, Lieferscheine, Arbeitsaufträge. Vorlagen werden in Liquid geschrieben, kommen mit Modulen mit und lassen sich auch von Tenant-Entwicklern im integrierten Editor mit Live-Vorschau erstellen.
Einen Datensatz drucken
Wählen Sie aus einem Datensatz eine Druckvorlage; dForge rendert sie zu HTML und übergibt sie dem Browser zum Drucken oder Speichern als PDF. Vor dem Rendern bereitet die Plattform den Datensatz auf, damit die Vorlage einfach bleibt:
- Referenzen werden aufgelöst — eine
customer-Referenz zeigt den Anzeigenamen des Kunden, nicht dessen Id. - Formelspalten werden berechnet anhand der aktuellen Werte des Datensatzes.
- Codierte Felder zeigen ihre Bezeichnung — ein Status
"P"erscheint als"Teilweise bezahlt", der Rohcode bleibt bei Bedarf verfügbar. - Positionszeilen werden geladen für jedes untergeordnete Set, das die Vorlage tatsächlich durchläuft.
- Moduleinstellungen (Firmenname, Logo, Adresse) werden über die Ordnerkette aufgelöst.
Der Vorlagenkontext
Jede Spalte der Entität steht als Variable der obersten Ebene zur Verfügung und zeigt bereits denselben Wert wie das Formular:
{{ invoice_number }} {# Rohwert #}
{{ status }} {# aufgelöste Bezeichnung, z. B. "Teilweise bezahlt" #}
{{ customer }} {# Referenz → Anzeigewert der Zielzeile #}
Einige Helfer liefern die übrigen Darstellungen jedes Felds:
| Zugriff | Liefert |
|---|---|
_fmt.<spalte> | Eine sprachabhängig formatierte Zeichenkette — Währung, Datum, Zahlen, „Ja/Nein”, Benutzernamen. Entspricht der Formularanzeige. |
_raw.<spalte> | Den zugrunde liegenden Code oder die Id (z. B. paid) — für CSS-Klassen und {% if %}-Logik. |
_color.<spalte> | Den Hex-Farbwert einer Dropdown-Option, damit ein gedrucktes Badge zur Formularfarbe passt. |
_settings.<name> | Für den Ordner aufgelöste Moduleinstellungen; Bild-/Dateieinstellungen kommen als Data-URIs, bereit für <img src>. |
_today | Das aktuelle Datum (für die vorformatierte Variante _fmt._today). |
Nutzen Sie _fmt.<spalte> zur Anzeige und das schlichte {{ spalte }} für Berechnungen und Vergleiche, damit diese auf dem typisierten Wert laufen.
Positionszeilen
Untergeordnete Sets sind Arrays — durchlaufen Sie sie und nutzen Sie _fmt / _raw je Zeile:
{% for line in lines %}
<tr>
<td>{{ line.description }}</td>
<td>{{ line._fmt.unit_price }}</td>
<td>{{ line._fmt.line_total }}</td>
</tr>
{% endfor %}
Die Plattform lädt nur die Sets, die eine Vorlage tatsächlich in einem {% for %} referenziert — so bleiben Vorlagen schnell.
Firmen-Branding
{% if _settings.company_logo %}
<img src="{{ _settings.company_logo }}" alt="{{ _settings.company_name }}" />
{% endif %}
<p>{{ _settings.company_address }}</p>
Filter
Zusätzlich zu den Standard-Liquid-Filtern bietet dForge sprachabhängige Formatierer:
{{ amount_due | format_currency: 'EUR' }} {# "1.234,56 €" #}
{{ quantity | format_number: 0 }} {# "1.234" #}
{{ invoice_date | format_date: '%d.%m.%Y' }} {# "22.05.2026" #}
Ein qr_code-Filter macht aus einer Zeichenkette ein eingebettetes QR-Bild — praktisch für Zahlscheine, Inventaretiketten oder Links zurück zum Datensatz:
{{ payment_reference | qr_code: 120 }} {# 120px QR-Code #}
Erstellen
Vorlagen können fertig in einem Modul mitkommen, oder Sie schreiben eigene im integrierten Editor. Der Editor zeigt die Vorschau mit derselben Liquid-Engine wie der finale Druck, sodass die Bearbeitung dem Ergebnis entspricht. Gemeinsames Markup lässt sich in Snippets auslagern und mit {% include %} einbinden.
Verwandt
- Berichte & Abfragen — für Auswertungen am Bildschirm und Exporte
- Felder-Referenz — Feldtypen, Optionen und Farben, die Vorlagen lesen
- Formeln — berechnete Spalten im Vorlagenkontext