Vorlagen
Vorlagen machen die Dokumenterstellung schneller und einheitlicher. In FiveNet verwenden Vorlagen HTML plus Golang-Templating, um dynamische Daten einzufügen.
- Basisfunktionen von Golang
html/template - Zusätzliche
sprout-Templatefunktionen- Hinweis: Einige
sprout-Funktionen sind in FiveNet-Vorlagen nicht verfügbar, wie z. B.filesystem,networkundregex; dies ist keine vollständige Liste.
- Hinweis: Einige
So funktioniert das Rendering
Wenn eine Vorlage verwendet wird, macht FiveNet Folgendes:
- Übernimmt Ihren HTML-Inhalt.
- Ersetzt Template-Ausdrücke wie
{{ .ActiveChar.Firstname }}durch echte Werte. - Rendert das Ergebnis als HTML im Dokument-Editor.
Auswahlen in der Zwischenablage liefern Daten für:
.Users.Vehicles.Documents
Minimale funktionierende Vorlage
Nutzen Sie dies als sicheren Einstieg:
<p>
Erstellt von: {{ .ActiveChar.Firstname }} {{ .ActiveChar.Lastname }}<br>
Datum: {{ now | date "02.01.2006" }}
</p>
Zentrale Bausteine
Variablen
{{ .ActiveChar.Firstname }}
Bedingungen
{{ if .Users }}
<p>Benutzer ausgewählt.</p>
{{ else }}
<p>Keine Benutzer ausgewählt.</p>
{{ end }}
Schleifen
<ul>
{{- range .Vehicles -}}
<li>{{ .Plate }} - {{ .Owner.Firstname }} {{ .Owner.Lastname }}</li>
{{- end -}}
</ul>
Häufig genutzte Helfer
$citizen wird automatisch mit dem ersten ausgewählten Bürger befüllt. Eine eigene Zuweisung mit {{- $citizen := first .Users -}} ist nicht erforderlich.{{ now | date "02.01.2006 15:04" }}
Sofort nutzbare Snippets
Erster ausgewählter Bürger
{{- if .Users -}}
<p>
Bürger: {{ $citizen.Firstname }} {{ $citizen.Lastname }}<br>
Geburtsdatum: {{ $citizen.Dateofbirth }}
</p>
{{- else -}}
<p>Kein Bürger ausgewählt.</p>
{{- end -}}
Fahrzeugliste mit Fallback
{{ if not .Vehicles }}
<p>Keine Fahrzeuge beteiligt.</p>
{{ else }}
<ul>
{{- range .Vehicles -}}
<li>{{ .Plate }} - {{ .Owner.Firstname }} {{ .Owner.Lastname }}</li>
{{- end -}}
</ul>
{{ end }}
Signaturblock
<p>
Eingereicht von: {{ .ActiveChar.Firstname }} {{ .ActiveChar.Lastname }}<br>
Rang: {{ .ActiveChar.JobGradeLabel }}<br>
Datum: {{ now | date "02.01.2006 15:04" }}
</p>
Häufige Fehler
- Ungültige HTML-Ausgabe (fehlende/falsche Tags).
.activeCharstatt.ActiveCharverwenden.- Listeneinträge ohne Prüfung auf vorhandene Daten verwenden.
<br>für Zeilenumbrüche in Absätzen vergessen.
Verfügbare Variablen
.Documents
Liste der Dokumente in der Zwischenablage des Benutzers.
.Id.CreatedAt.Title.State.CreatorId.Creator- Siehe Benutzerinformationsstruktur..Closed- Boolescher Wert..CategoryId.Category.Name.Description
.Users
Liste der Bürger/Benutzer in der Zwischenablage des Benutzers.
- Siehe Benutzerinformationsstruktur.
.Vehicles
Liste der Fahrzeuge in der Zwischenablage des Benutzers.
.Plate.Model.Type.Owner- Siehe Benutzerinformationsstruktur.
.ActiveChar
Informationen zum Autor/einreichenden Benutzer.
- Siehe Benutzerinformationsstruktur.
Benutzerinformationsstruktur
.UserId.Identifier.Job- Bevorzugt.JobLabelverwenden..JobLabel*.JobGrade- Bevorzugt.JobGradeLabelverwenden..JobGradeLabel*.Firstname.Lastname.Dateofbirth- Im FormatDD.MM.YYYY..PhoneNumber- Optional, möglicherweise nicht immer enthalten.
(*Diese Felder sind nur in der Variablen .ActiveChar verfügbar.)
Zusätzliche Snippets
Aktive Benutzerinformationen ausgeben
{{ .ActiveChar.Firstname }}, {{ .ActiveChar.Lastname }}
Ersten Bürger abrufen
Die Variable $citizen enthält automatisch den ersten Benutzer in der Liste (erstes Element in der Zwischenablage des Benutzers).
Beispiel für den Zugriff auf Bürgerinformationen:
{{ $citizen.Firstname }}, {{ $citizen.Lastname }} ({{ $citizen.Dateofbirth }})
Aktuelles Datum und Uhrzeit
{{ now | date "02.01.2006 15:04" }}
Weitere Informationen zu Datums- und Zeitformaten finden Sie in der Golang-time-Paketdokumentation.
Aktuelles Datum
{{ now | date "02.01.2006" }}
Weitere Informationen zu Datums- und Zeitformaten finden Sie in der Golang-time-Paketdokumentation.
Zeitstempel anzeigen (z. B. Feld CreatedAt)
{{ .CreatedAt | date "02.01.2006 15:04" }}
Checkboxen
Inline-Checkbox
<span data-checked="false" data-type="checkboxStandalone"><label><input type="checkbox"> </label></span>
Beispielverwendung:
<p>Inline-Checkbox <span data-checked="false" data-type="checkboxStandalone"><label><input type="checkbox"> </label></span>mit Text</p>
Aufgabenliste (Checkbox-Liste)
<ul data-type="taskList">
<li data-checked="false" data-type="taskItem">
<label><input type="checkbox"><span></span></label><div><p>Ihr erster Text kommt hier hin</p></div>
<label><input type="checkbox"><span></span></label><div><p>Ihr zweiter Text kommt hier hin</p></div>
</li>
</ul>
Checkbox-Listenelement
<label><input type="checkbox"><span></span></label><div><p>Ihr Text kommt hier hin</p></div>
Fahrzeugliste anzeigen
{{ if not .Vehicles }}
<p>
Keine Fahrzeuge beteiligt.
</p>
{{ else }}
<ul>
{{- range .Vehicles -}}
<li>{{ .Plate }} - {{ .Owner.Firstname }}, {{ .Owner.Lastname }}</li>
{{- end -}}
</ul>
{{ end }}
