Schleifen und Bedingungen in pdfMachine merge
Liquid ermöglicht die Anwendung von Formatierungen, die Durchführung von Schleifen, Bedingungen usw. basierend auf den Werten aus Ihrer Datenquelle. Die Standard-Filter und -Tags werden unterstützt, wie in Liquid For Designers und DotLiquid For Designers beschrieben.
Hinweis: Um Liquid Templating Tags im E-Mail-Text zu verwenden, muss der E-Mail-Text-Editor immer im "Source"-Modus sein. Der "wysiwyg"-Modus bewahrt die Liquid Tags nicht.
Beispiele zur Formatierung von Seriendruckfeldern finden Sie hier.
Liquid Tags - Bedingungen
Bedingte Ausgabe ermöglicht die Steuerung der Anzeige von Inhalten basierend auf dem Wert des Seriendruckfeldes. Dies kann mithilfe der Standard-Liquid-Tags wie dem 'if/else'- oder 'unless'-Tag in einer HTML-Vorlage/im E-Mail-Text oder in einer Word-Vorlage erfolgen.
Tags sind die Programmierlogik, die Vorlagen mitteilt, was zu tun ist. Tags sind in {% %}-Zeichen eingeschlossen.
z.B. Das Folgende wird nur ausgegeben, wenn die Zelle "name" in der Datenquelle Daten enthält:
Eingabe:
{% if name != "" %}
Hello {{ name }}
{% endif %}
Ausgabe:
Hello John
z.B. Das Folgende wird nur ausgegeben, wenn die Zelle "age" in der Datenquelle einen Wert größer oder gleich 18 hat:
Eingabe:
{% unless age >= 18 %}
Parent / Guardian signature is required.
{% endif %}
Ausgabe, wenn der Wert von age größer als 18 ist:
Parent / Guardian signature is required.
Schleifen
Das Durchlaufen von Zeilen zur Anzeige von Positionselementen kann mit einer der folgenden Methoden in einer HTML-Vorlage erfolgen:
Wenn Sie Seriendruckfelder für Schleifen referenzieren, verwenden Sie Kleinbuchstaben für das Seriendruckfeld. Zum Beispiel sollte {{row.name | repeat_row}} verwendet werden, nicht {{row.Name | repeat_row}}. Alles nach dem . muss in Kleinbuchstaben sein.
Sehen Sie sich das Beispielprofil an, das zeigt, wie Zeilen durchlaufen und Positionselemente in einer Word-Vorlage erstellt werden hier.
Die repeat_row-, repeat_par-Filter
repeat_row
Wiederholt die aktuelle Tabellenzeile. Funktioniert mit HTML- und Word-Vorlagen. Beispiel ansehen.repeat_par
Für HTML-Dokumente: Wiederholt die aktuellen P-, LI- oder DIV-Blöcke.Für Word-Dokumente: Wiederholt den aktuellen Absatz.
Dies kann verwendet werden, wenn die "Zeilen zu E-Mails-Methode" auf "Eine oder mehrere Zeilen generieren eine E-Mail" eingestellt ist, was den Effekt hat, Zeilen basierend auf einem Seriendruckfeld, meist der E-Mail-Adresse, zu gruppieren.
HINWEIS: Sie setzen den Filter auf genau ein Datenelement in der Zeile oder dem Absatz, den Sie wiederholen.
Beachten Sie im Beispiel, dass den Seriendruckfeldnamen "row." vorangestellt werden muss.
repeat_row Beispiel
Eingabe:
| Name | Amount |
|---|---|
| {{row.name | repeat_row}} | {{row.amount}} |
| Name | Amount | |
|---|---|---|
| Dave | 1230 | |
| Dave | 1000 |
repeat_par Beispiel
"=""> Eingabe:
Name: {{ row.name | repeat_par }}
Amount: {{ row.amount }}
Ausgabe:
Name: Dave
Amount: 1230
Name: Dave
Amount: 1000
Diese Filter sind eine Abkürzung für die Liquid 'for'-Schleife. Konkret wird der Liquid-Tag "{% for row in _rows %}" um den Absatz oder die Zeile platziert. Die Liquid for-Schleife funktioniert nicht gut mit visuellen HTML-Editoren, wenn sie um Tabellenzeilen verwendet wird, daher ist dies die bevorzugte Option.
Liquid Tags - Schleifen mit der 'for'-Schleife
Tags sind die Programmierlogik, die Vorlagen mitteilt, was zu tun ist. Tags sind in {% %}-Zeichen eingeschlossen.
Eingabe:
{% for row in _rows %}
Name: {{ row.name }}
Amount: {{ row.amount }}
{% endfor %}
Ausgabe:
Name: Dave
Amount: 1230
Name: Dave
Amount: 1000
Wenn Sie Hilfe oder weitere Informationen zu dieser Funktion benötigen, kontaktieren Sie bitte [email protected]
word_table Tag
Definiert eine Tabelle in Word, die für wiederholende Zeilen verwendet wird. Sehr ähnlich dem repeat_row-Filter, nimmt aber einen Parameter an, der die zu iterierende Sammlung darstellt. Für jedes Element in der Sammlung wird eine Zeile erstellt. Nach der Tabelle muss ein "endword_table"-Tag geschlossen werden.
z.B.Eingabe
Ausgabe
Wenn Sie Seriendruckfelder für word_table-Tags referenzieren, verwenden Sie Kleinbuchstaben für das Seriendruckfeld. Zum Beispiel sollte {{row.invoice_id}} verwendet werden, nicht {{row.Invoice_Id}}. Alles nach dem . muss in Kleinbuchstaben sein.