Syntax und Möglichkeiten der Vorlagen

Grundlagen der Arbeit mit Vorlagen

Vorlagen unterstützen definierte Variablen und eine spezielle Syntax, die mehr Möglichkeiten bietet als statische Vorlagen. Das heißt, ein bestimmter Text wird nach definierten Regeln umgewandelt. Wenn Sie mit dem Template-Engine Twig gearbeitet haben, kennen Sie bereits fast alles Notwendige. Auf dieser Seite wird die grundlegende verfügbare Funktionalität beschrieben. Wer mehr erfahren möchte, kann sich mit der offiziellen Dokumentation zu Twig vertraut machen. Allerdings sind nicht alle Möglichkeiten von Twig in unseren Vorlagen verfügbar, vergessen Sie daher nicht, das Ergebnis mithilfe der Vorschaufunktion zu überprüfen sowie Testaussendungen an eigene Konten durchzuführen, bevor Sie eine Kampagne an eine große Anzahl realer Nutzer starten.

Verfügbare Variablen in Vorlagen:

  1. subscriber — das ist ein Objekt, das Informationen über den aktuellen Abonnenten enthält. Die vollständige Struktur dieser Variablen können Sie auf einer separaten Seite einsehen.
  2. campaign — das ist ein Objekt, das Informationen über die aktuelle Versandkampagne enthält. Die vollständige Struktur dieser Variablen können Sie auf einer separaten Seite einsehen. Diese Variable enthält im Vorschaumodus keine Daten, da dieser außerhalb des Kontexts einer beliebigen Versandkampagne funktioniert.
  3. unsubscribe_url — das ist ein HTTP-Link zu unserer Seite, auf der sich der Abonnent von der aktuellen Versandkampagne abmelden kann. Wenn Sie auf Ihrer Website eigene Abonnementeinstellungen haben, können Sie einen Abmeldelink verwenden, der zu Ihrer Website führt. Wenn der Abonnent keine einfache und bequeme Möglichkeit findet, sich von einer unerwünschten Aussendung abzumelden, markiert er Ihre E-Mail wahrscheinlich als Spam, daher empfehlen wir, in jeder E-Mail eine Abmeldemöglichkeit anzubieten. Diese Variable ist im Vorschaumodus nicht verfügbar.

In Vorlagen können Variablen verwendet werden

Um eine Variable zu verwenden, muss sie in doppelte geschweifte Klammern eingeschlossen werden. Um beispielsweise die Variable test126 auszugeben, muss man {{ test126 }} schreiben. Die Beachtung der Groß- und Kleinschreibung ist obligatorisch, Leerzeichen — optional. Das heißt, man kann {{test126}} oder {{ test126         }} schreiben, aber {{ TESt126 }} — nicht. Die Variable test126 ist ein Beispiel, tatsächlich existiert eine solche Variable bei uns nicht.

Wenn eine Variable ein komplexes Objekt ist und eigene Eigenschaften hat, erfolgt der Zugriff darauf über einen Punkt. Zum Beispiel sieht der Zugriff auf die Eigenschaft id der Variablen subscriber so aus: {{ subscriber.id }}. Das ist ein reales Beispiel — in Vorlagen ist die Variable subscriber verfügbar, und sie hat die Eigenschaft id. Die vollständige Liste der Eigenschaften können Sie auf einer separaten Seite einsehen. Auf Arrays kann per Index unter Verwendung eckiger Klammern zugegriffen werden. Dabei muss man sicher sein, dass ein solcher Index existiert. Zum Beispiel {{ subscriber.tags[0] }}. Wenn der Abonnent kein einziges Tag hat, gibt der Versuch, das erste (mit Index 0) Tag auszugeben, nichts aus (das heißt, es wird eine «leere Zeichenkette» ausgegeben, wie Programmierer sagen).

Es können grundlegende Operationen mit Daten durchgeführt werden

Mathematische Operationen werden unterstützt:

  • Addition {{ price + tax }}
  • Multiplikation {{ count * 2 }}
  • Division {{ total / 3 }}

Bedingter Operator (IF)

  • einfaches if {% if subscriber.is_active %} Sie sind für die Aussendung angemeldet {% endif %}
  • if-Operator mit else-Block {% if subscriber.is_active %} Sie sind für die Aussendung angemeldet {% else %} Sie sind von der Aussendung abgemeldet {% endif %}
  • Kette von Prüfungen {% if subscriber.gender == 'male' %} Sie sind ein Mann {% elseif subscriber.gender == 'female' %} Sie sind eine Frau {% elseif subscriber.gender == '' %} Ihr Geschlecht ist nicht angegeben {% endif %}

Der if-Operator hat zwingend ein öffnendes Tag  {% if condition %} und ein schließendes Tag {% endif %}. Darin kann eine beliebige Anzahl von Abschnitten  {% elseif condition %} platziert werden. Optional kann auch ein Abschnitt {% else %} hinzugefügt werden, der ohne zusätzliche Bedingungen ausgelöst wird, wenn die Ausführung ihn erreicht. Das heißt, wenn die Auslösebedingungen (condition) aller vorherigen Teile des if-Operators nicht erfüllt wurden.
 

Schleifen (FOR)

Schleifen werden für die Ausgabe von Listen benötigt. Stellen wir uns vor, wir haben eine Liste, die in der Variablen items gespeichert ist. So kann man sie durchlaufen:

{% for item in items %}
  {{ item }}
{% endfor %}

Der Wert der Variablen item ist bei jeder Iteration der Schleife unterschiedlich. Innerhalb der Schleife sind auch einige andere Variablen verfügbar, die sich auf die aktuelle Iteration beziehen:

  • loop.index — Nummer der Iteration, beginnt bei 1
  • loop.first — ist das die erste Iteration? (true/false)
  • loop.last — ist das die letzte Iteration? (true/false)

Eine Schleife kann mit einer Prüfung auf das Vorhandensein von Daten kombiniert werden:

{% for item in items %}
  {{ item }}
{% else %}
  Das Array items ist leer
{% endfor %}