Templates strukturieren¶
Um dem Benutzer bei der Mailing- bzw. Landingpage-Erstellung eine einfache und intuitive Handhabung zu ermöglichen, ist eine gut aufgebaute Template-Struktur essenziell. Im Folgenden ist beschrieben, wie du das erreichen kannst.
Container definieren¶
Um das Template zu gliedern, kann der Inhalt in Abschnitte unterteilt werden. Diese Abschnitte werden im Editor gekennzeichnet. Beispielsweise ist eine Unterteilung in Einleitung, Hauptteil und Footer denkbar. Später wird es damit beispielsweise möglich sein, die Inhalte des Hauptteils zu einem automatischen Inhaltsverzeichnis hinzuzufügen.
Wir erstellen die Abschnitte Header, Footer und Hauptteil mittels des [CONTAINER]
-Tags.
<!DOCTYPE html>
<html>
<head>
<title>Mein Template</title>
<meta charset="UTF-8">
</head>
<body>
[CONTAINER name='header' label='Header']...[/CONTAINER]
[CONTAINER name='main' label='Hauptteil']...[/CONTAINER]
[CONTAINER name='footer' label='Footer']...[/CONTAINER]
</body>
</html>
Darstellung der Struktur im Mailing-/Landingpage-Aufbau:
Im Elemente-Pool des Editors kann nach Containern gefiltert werden. Da sich Container gleichen Namens mehrfach verwenden lassen, ist es wichtig, einen Container mit bereits verwendeten Namen nur dann erneut zu verwenden, wenn dieser die gleichen Elemente wie der erste Container enthält.
Elemente definieren¶
Innerhalb der Container werden die Elemente mit dem [ELEMENT]
-Tag hinzugefügt. Die Elemente können beispielsweise Artikel von einem bestimmten Typ, Grafiken oder Tabellen enthalten. Im Header wollen wir im Beispiel einen Banner- und ein Editorial-Element bereitstellen.
<!DOCTYPE html>
<html>
<head>
<title>Mein Template</title>
<meta charset="UTF-8">
</head>
<body>
[CONTAINER name='header' label='Header']
[ELEMENT name='headerbanner' label='Headerbanner' default='true'<!-- (1)! -->]...[/ELEMENT]
[ELEMENT name='editorial' label='Editorial' default='true']...[/ELEMENT]
[/CONTAINER]
[CONTAINER name='main' label='Hauptteil']...[/CONTAINER]
[CONTAINER name='footer' label='Footer']...[/CONTAINER]
</body>
</html>
- Mit
default='true'
wird das Element beim Erstellen eines neuen Mailings/einer neuen Landingpage automatisch dem Inhalt hinzugefügt.
Darstellung der Struktur im Mailing-/Landingpage-Aufbau:
Mit den Tags [TOP]...[/TOP]
, [BETWEEN]...[/BETWEEN]
, und [BOTTOM]...[/BOTTOM]
lassen sich innerhalb des Containers besondere Anweisungen hinzufügen, beispielsweise um ein Abstand zwischen aufeinanderfolgenden Elementen darzustellen.
[CONTAINER name='header' label='Header']
[BETWEEN]<br/><br/>[/BETWEEN]
[ELEMENT name='headerbanner' label='Headerbanner' default='true']...[/ELEMENT]
[ELEMENT name='editorial' label='Editorial' default='true']...[/ELEMENT]
[/CONTAINER]
Elemente befüllen¶
Im nächsten Schritt erstellen wir den Template-Quellcode für die eben definierten Elemente Headerbanner und Editorial. Der Quellcode setzt setzen sich aus HTML-Tags und MWML-Tags zusammen.
Beispiel: Headerbanner¶
Das Element Headerbanner soll eine editierbare, verlinkbare Grafik sowie eine optionale Bildunterschrift enthalten. Für das Bild verwenden wir einen Bild-Input. Dies erzeugt im Mailing-/Landingpage-Editor unter anderem Eingabefelder für die Bild-URL und die Link-URL. Mit dem Parameter default_href
wird die Standard-Bild-URL definiert, mit default_url
die Standard-Link-URL. In der Ausgabe wird ein <img ... />
-Tag erzeugt, welches von a
-Tags umschlossen wird, wenn eine Link-URL angegeben ist.
[ELEMENT name='headerbanner' label='Headerbanner' default='true']
<!-- Headerbanner -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td>[INPUT type='a_img'<!-- (1)! -->
name='image'
label='Bild'
default_src='https://login.mailingwork.de/placeholder/placeholder/image/640x200'
default_href='https://example.com/' /]</td>
</tr>
[BLOCK name='caption' label='Bildunterschrift']<!-- (2)! -->
<tr>
<td>[INPUT type='span'<!-- (3)! -->
name='text'
label='Text'
default='Das ist die Bildunterschrift'
rows='2'<!-- (4)! -->
required='true' /]</td>
</tr>[/BLOCK]
</table>
[/ELEMENT]
- Bild-Input mit optionaler Verlinkung
- Um die Bildunterschrift optional zu machen, ist am
[INPUT /]
das Attributrequired='true'
hinzugefügt. Damit werden alle Inhalte im[BLOCK]...[/BLOCK]
ausgeblendet, wenn der[INPUT /]
nicht befüllt ist. type='span'
rendert das entsprechende HTML-Tag in die Ausgabe:<span>Das ist die Bildunterschrift</span>
.- Durch das Attribut
rows='2'
wird die Anzahl der Textzeilen im Editor auf 2 festgelegt.
Durch Klick auf Headerbanner öffnet sich ein Fenster zum Bearbeiten des Elements. Dieses enthält die Einstellungen für das Bild und die Bildunterschrift.
Erzeugte Ausgabe des Headerbanner-Elements mit den Standard-Werten:
<!-- Headerbanner -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td><a target="_blank" href="https://example.com/" content="4176480"><img alt="" src="https://login.mailingwork.de/placeholder/placeholder/image/640x200"/></a></td>
</tr>
<tr>
<td><span>Das ist die Bildunterschrift</span></td>
</tr>
</table>
Beispiel: Editorial¶
Das Element Editorial soll eine Anrede, einen Einleitungstext, einen Call-To-Action-Link und eine Signatur enthalten können. Je nachdem, welcher Grad an Freiheit gestattet werden soll, gibt es zwei Möglichkeiten, den Baustein zu strukturieren:
-
Statisches Editorial
Der Aufbau des Elements ist fest vorgegeben. Beispielsweise wenn es eine (optionale) Headline, einen (optionalen) Text und einen (optionalen) Button geben soll und diese Komponenten immer in der vorgegebenen Reihenfolge angezeigt werden sollen.
-
Modulares Editorial
Soll die Anzahl und die Reihenfolge der Artikel-Inhalte dynamisch sein, empfiehlt sich eine modulare Struktur aufzubauen. Beispielsweise, wenn unterhalb des Textes ein (oder mehrere) Buttons hinzufügbar sein sollen, auf welche wiederum ein Text folgen kann.
Statisches Editorial¶
Bei einer statischen Struktur werden die [BLOCK]
- und [INPUT /]
-Tags direkt innerhalb des [ELEMENT]
-Tags hinzugefügt.
[ELEMENT name='editorial' label='Editorial' default='true']
<!-- Editorial -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<!-- Headline -->
[BLOCK name='content' label='Inhalt' independent='true'<!-- (1)! -->]
<tr>
<td>[INPUT name='headline'
label='Headline 1'
type='h1'<!-- (2)! -->
default='Headline 1'
rows='2'
required='true' /]</td>
</tr>[/BLOCK]
<!-- Text -->
[BLOCK name='content' label='Inhalt' independent='true']
<tr>
<td>[INPUT name='text'
label='Text'
type='span'
default='Das ist der Artikeltext'
required='true' /]</td>
</tr>[/BLOCK]
<!-- Button -->
[BLOCK name='content' label='Inhalt' independent='true']
<tr>
<td>[INPUT type='a'<!-- (3)! -->
name='button'
label='Button'
attributes='class="btn"' <!-- (4)! -->
default_href='#'
default_text='Weiterlesen'
required='true' /]</td>
</tr>[/BLOCK]
</table>
[/ELEMENT]
-
Der Parameter
independent='true|false*'
bestimmt das Verhalten, wenn ein[BLOCK]
gleichen Namens an mehreren Stellen verwendet wird.independent='true'
: Der Block wird unabhängig von gleichnamigen Blöcken. Ist ein[INPUT /]
mitrequired='true'
nicht befüllt , wird nur der Inhalt dieses Blocks nicht angezeigt.independent='false'
: Ist ein[INPUT /]
mitrequired='true
nicht befüllt , wird der Inhalt aller Blöcke mit diesem Namen nicht angezeigt.* Standard
-
Erzeugt ein
<h1></h1>
-Tag. -
Erzeugt ein
<a></a>
-Tag. -
attributes="..."
: Die angegebenen Attribute werden dem Markup angefügt:<a class="btn" ...>
Durch Klick auf "Editorial" öffnet sich das Fenster zum Bearbeiten des Elements.
Erzeugte Ausgabe des Editorial-Elements mit den Standard-Werten:
<!-- Editorial -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<!-- Headline -->
<tr>
<td><h1>Headline 1</h1></td>
</tr>
<!-- Text -->
<tr>
<td><span>Das ist der Artikeltext</span></td>
</tr>
<!-- Button -->
<tr>
<td><a class="btn" href="#" content="4176528">Weiterlesen</a></td>
</tr>
</table>
Modulares Editorial¶
Für eine modulares Editorial wird innerhalb des Editorial-Elements ein [CONTAINER]
definiert. Darin werden die Artikelbausteine Headline, Text und Button als Elemente hinzugefügt.
[ELEMENT name='editorial' label='Editorial' default='true']
<!-- Editorial -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td>
[CONTAINER name='editorial' label='Editorial']
[ELEMENT name='headline' label='Headline' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>[INPUT name='text' label='Text' type='h1' rows='2' default='Headline' /]</td>
</tr>
</table>[/ELEMENT]
[ELEMENT name='text' label='Text' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>[INPUT name='text'
label='Text'
type='span'
default='Das ist der Artikeltext' /]</td>
</tr>
</table>[/ELEMENT]
[ELEMENT name='button' label='Button' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
[INPUT type='a'
name='button'
label='Button'
attributes='class="btn"' <!-- (1)! -->
default_href='#'
default_text='Weiterlesen' /]
</td>
</tr>
</table>[/ELEMENT]
[/CONTAINER]
</td>
</tr>
</table>
[/ELEMENT]
attributes="..."
: Die angegebenen Attribute werden dem Markup angefügt:<a class="btn" ...>
Erzeugte Ausgabe des Editorial-Elements mit den Standard-Werten:
<!-- Editorial -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><h1>Headline 1</h1></td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><span>Das ist der Artikeltext</span></td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
<a class="btn" href="#" content="4176628">Weiterlesen</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
Beispiel: Teaser-Artikel im Hauptteil¶
Innerhalb des Hauptteils wollen wir einen Teaser-Artikel hinzufügen. Dieses soll zweispaltig sein. In der linken Spalte befindet sich das Teaser-Bild. Die rechte Spalte soll mit folgenden Artikelbausteinen befüllbar sein: Headline, Headline 2, Text und Button.
[CONTAINER name='main' label='Hauptteil']
[ELEMENT name='teaser-article' label='Teaser-Artikel' default='true']
<!-- Teaser-Artikel -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td style="width: 200px;" valign="top"><!-- (1)! -->
[INPUT type='img' name='image' label='Bild' default_src='https://login.mailingwork.de/placeholder/placeholder/image/200x120' /]
</td>
<td style="width: 20px;"></td>
<td style="width: 420px;" valign="top"><!-- (2)! -->
<!-- container teaser-article -->
[CONTAINER name='teaser-article'<!-- (3)! --> label='Teaser-Artikel']
[ELEMENT name='headline' label='Headline' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>[INPUT name='text' label='Text' type='h1' rows='2' default='Headline' /]</td>
</tr>
</table>[/ELEMENT]
[ELEMENT name='headline2' label='Headline 2']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>[INPUT name='text' label='Text' type='h2' rows='2' default='Headline 2' /]</td>
</tr>
</table>[/ELEMENT]
[ELEMENT name='text' label='Text' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>[INPUT name='text' label='Text' type='span' default='Das ist der Artikeltext' /]</td>
</tr>
</table>[/ELEMENT]
[ELEMENT name='button' label='Button' default='true']
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
[INPUT type='a' name='button' label='Button' attributes='class="btn"' default_href='#' default_text='Weiterlesen' /]
</td>
</tr>
</table>[/ELEMENT]
[/CONTAINER]
</td>
</tr>
</table>
[/ELEMENT]
[/CONTAINER]
- Linke Spalte: Teaser-Bild
- Rechte Spalte: Modular, mit Artikelbausteinen befüllbar
- Das Label wird im Editor im Mailing-/Landingpage-Aufbau und im Filter des Elemente-Pools angezeigt. (siehe auch Tab "Editor-Ansicht").
Mailing-/Landingpage-Aufbau:
Der Container "Teaser-Artikel" erscheint im Filter Drop-Down des Elemente Pools:
Wird auf den Container gefiltert, werden alle Elemente-angezeigt, die im Container vorkommen.
Erzeugte Ausgabe des Artikel-Elements mit den Standard-Werten:
<!-- Teaser-Artikel -->
<table cellspacing="0" cellpadding="0" width="640" align="center">
<tr>
<td style="width: 200px;">
<img alt="" src="https://login.mailingwork.de/placeholder/placeholder/image/200x120" />
</td>
<td style="width: 20px;"></td>
<td style="width: 420px;">
<!-- container teaser-article -->
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
<h1>Headline</h1>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td><span>Das ist der Artikeltext</span></td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td>
<a class="btn" comment="" href="#" content="4176804">Weiterlesen</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
Lerne im nächsten Schritt, wie du E-Mail- oder Landingpage-Template für den Editor optimierst: