Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:otml [2021/01/21 11:25] – fw | de:otml [2025/07/22 11:03] (aktuell) – bk | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | The following document provides technical information for the development of E-Mail | + | Das folgende Dokument enthält technische Informationen zur Entwicklung von E-Mail-Vorlagen für promio.connect. |
- | ===== General information | + | ===== Allgemeine Informationen |
- | * Special characters must use XML conform entities: | + | * Sonderzeichen müssen |
* ''& | * ''& | ||
* ''& | * ''& | ||
Zeile 13: | Zeile 13: | ||
* ''& | * ''& | ||
* ''& | * ''& | ||
- | * for all other entities you have to use decimal syntax; e.g.: use ''&# | + | * für alle anderen Entitäten müssen Sie die Dezimalsyntax verwenden; benutzen Sie z.B. ''&# |
- | * UTF-8 4-byte | + | * UTF-8 4-byte |
- | * The length of lines in the source code **must not exceed | + | * Die Zeilenlänge im Quellcode |
- | + | ||
- | + | ||
- | If you use an IDE to develop the template, use the following namespaces for correct syntax highlighting: | + | |
+ | Wenn Sie eine IDE zur Entwicklung der Vorlage verwenden, verwenden Sie die folgenden Namespaces für die korrekte Syntaxhervorhebung: | ||
<code html> | <code html> | ||
Zeile 29: | Zeile 27: | ||
</ | </ | ||
</ | </ | ||
- | |||
- | |||
===== OTML ===== | ===== OTML ===== | ||
- | OTML is an extension of the HTML standard, specifically created for usage in promio.connect' | + | OTML ist eine Erweiterung des HTML-Standards, die speziell für die Verwendung im E-Mail-Editor |
- | Because of this, an undestanding of HTML and CSS is mandatory. | + | Daher sind HTML- und CSS-Kenntnisse zwingend erforderlich. |
- | OTML serves the cause to make designated parts of an E-Mail | + | OTML ermöglicht es, bestimmte Teile einer E-Mail |
- | At first, the E-Mail | + | Der E-Mail-Entwickler erstellt die E-Mail |
- | The OTML elements are separated into two namespaces: '' | + | Die OTML-Elemente sind in zwei Namensräume unterteilt: „pm“ und „pme“: |
- | * '' | + | * „pm“-Elemente dienen der automatischen Generierung oder Integration von Inhalten, wie z. B. Inhaltsverzeichnissen oder Datenquellen. |
- | * '' | + | * „pme“-Elemente sind vom Benutzer editierbare Elemente, z. B. einzeilige und mehrzeilige Editoren. |
+ | ==== Bearbeitbarer Titel ==== | ||
+ | Wenn Sie möchten, dass der Benutzer den Titel der E-Mail bearbeiten kann, fügen Sie Ihrem Tag ''< | ||
+ | === Beispiel === | ||
+ | |||
+ | <code html> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <title editable=" | ||
+ | </ | ||
+ | < | ||
+ | <div> | ||
+ | <a href=" | ||
+ | Please click here if you can't read this E-Mail. | ||
+ | </a> | ||
+ | </ | ||
+ | ... | ||
+ | </ | ||
==== Repeater ==== | ==== Repeater ==== | ||
- | A repeater is represented by the OTML tag '' | + | Ein Repeater wird durch das OTML-Tag „< |
+ | |||
+ | Ein Repeater-Element definiert einen Bereich mit sich wiederholenden Blöcken und muss ein oder mehrere < | ||
+ | |||
+ | Das Repeater-Element kann ein oder mehrere < | ||
- | A repeater element defines an area of repeating blocks and **must contain one or more ''< | ||
- | added into the E-Mail creative by the user through a selective list. | ||
- | The repeater element can hold one or more ''< | + | Eine genaue Anleitung zur Erstellung eines Creatives mit dem E-Mail-Builder finden Sie im Artikel //" |
+ | Individuelle Erläuterungen zu Ihren eigenen Templates können in einer mandantensprezifischen Wiki hinterlegt werden. Der Mandant benötigt hierzu eine Lizenz. Bei Interesse kontaktieren Sie bitte unseren Support. | ||
- | ^ Attribute | + | ^ Attribut |
- | | title | string | + | | Titel | Zeichenfolge |
- | === Example | + | === Beispiel |
<code html> | <code html> | ||
Zeile 98: | Zeile 115: | ||
==== Layout ==== | ==== Layout ==== | ||
- | A layout is represented by the OTML tag '' | + | Ein Layout wird durch das OTML-Tag „< |
- | A layout element contains a template, which can be added into the E-Mail. | + | Ein Layout-Element enthält eine Vorlage, die der E-Mail |
- | added multiple times. | + | |
- | ^ Attribute | + | ^ Attribut |
- | | name | + | | Name | Zeichenfolge |
- | === Example | + | === Beispiel |
<code html> | <code html> | ||
Zeile 126: | Zeile 142: | ||
- | ==== Repeatercontent | + | ==== Repeater-Inhalte |
- | A repeatercontent is represented by the OTML tag '' | + | Ein Repeater-Inhalt wird durch das OTML-Tag „< |
- | The repeatercontent determines a pre-defined part of a '' | + | Der Repeater-Inhalt bestimmt einen vordefinierten Teil eines „< |
- | It's a sub-element of the '' | + | Er ist ein Unterelement des „< |
- | to pre-fill a '' | + | ein „< |
- | + | === Beispiel | |
- | === Example | + | |
<code html> | <code html> | ||
Zeile 163: | Zeile 178: | ||
==== Preheader ==== | ==== Preheader ==== | ||
- | A preheader is represented by the OTML tag '' | + | Ein Preheader wird durch das OTML-Tag „< |
- | A preheader is the preview text which is shown beneath the sender | + | Ein Preheader ist der Vorschautext, |
- | During the build process of the E-Mail | + | |
- | tracking pixels provided by promio.connect | + | Während der E-Mail-Erstellung wird der Inhalt des Preheader-Elements direkt nach dem Tag „< |
- | end-user. | + | |
<code html> | <code html> | ||
Zeile 178: | Zeile 192: | ||
==== Singleline ==== | ==== Singleline ==== | ||
- | A singleline element is represented by the OTML tag '' | + | Ein einzeiliges Element wird durch das OTML-Tag „< |
- | The singleline element offers a simple text input field and is mostly used for short texts like a headline. | + | Das einzeilige Element bietet ein einfaches Texteingabefeld und wird meist für kurze Texte wie Überschriften verwendet. |
+ | ^ Attribut ^ Typ ^ Erforderlich ^ Beschreibung ^ | ||
+ | | data-pmclass | string | Nein | Der Wert wird als Klasse für das Link-Element festgelegt, wenn dem einzeiligen Element ein Link hinzugefügt wird. | | ||
+ | | label | string | Nein | Der Titel des Elements, der in der Bearbeitungsansicht angezeigt wird. | | ||
+ | | linkable | boolean | Nein | Wenn „linkable“ „false“ ist, kann kein Link um das einzeilige Element herum hinzugefügt oder geändert werden. | | ||
+ | | pmtoctitle | string | Nein | Titel für den Eintrag im Inhaltsverzeichnis.< | ||
+ | | max-length | integer | Nein | Maximale Zeichenlänge. Der Benutzer kann dieses Limit nicht überschreiten. | ||
- | ^ Attribute | ||
- | | data-pmclass | string | ||
- | | label | string | ||
- | | linkable | ||
- | | pmtoctitle | ||
- | | max-length | ||
- | + | === Beispiel | |
- | === Example | + | |
<code html> | <code html> | ||
Zeile 203: | Zeile 216: | ||
- | ==== Multiline ==== | + | ==== Multiline |
- | + | ||
- | A multiline element is represented by the OTML tag ''< | + | |
- | + | ||
- | The multiline element offers an advanced text and HTML editor based on CKEditor. It is mostly used for long texts or where HTML input is | + | |
- | desired. | + | |
+ | Ein mehrzeiliges Element wird durch das OTML-Tag „< | ||
- | ^ Attribute | + | Das mehrzeilige Element bietet einen erweiterten Text- und HTML-Editor basierend auf CKEditor 4. Es wird hauptsächlich für lange Texte oder HTML-Eingaben verwendet. |
- | | label | string | + | |
- | | pmdesign | + | |
- | | pmtoctitle | string | + | |
- | | max-length | integer | No | Maximum lenght of characters. The user is able exceed this limit, but a warning will be shown. | | + | |
+ | ^ Attribut ^ Typ ^ Erforderlich ^ Beschreibung ^ | ||
+ | | label | string | Nein | Der Titel des Elements, der in der Bearbeitungsansicht angezeigt wird. | | ||
+ | | linkable | boolean | Nein | Ermöglicht das Hinzufügen eines Links um den Editorinhalt. Wenn Sie diese Option aktivieren, empfehlen wir Ihnen, für diese Editoren eine spezielle mehrzeilige Konfiguration zu verwenden, in der der Link-Button aus der Symbolleiste entfernt wird. | | ||
+ | | pmtoctitle | string | Nein | Titel für den Eintrag im Inhaltsverzeichnis.< | ||
+ | | max-length | integer | Nein | Maximale Zeichenlänge. Der Benutzer kann dieses Limit überschreiten, | ||
+ | | config | string | Nein | Name der mehrzeiligen Konfiguration, | ||
- | === Example | + | === Beispiel |
<code html> | <code html> | ||
Zeile 226: | Zeile 237: | ||
- | ==== Image ==== | + | Der mehrzeilige Editor kann mit einem mehrzeiligen Konfigurationselement konfiguriert werden, das durch den OTML-Tag „< |
- | Images have no special OTML element representation. Instead they use the standard HTML ''< | + | ^ Attribut ^ Typ ^ Erforderlich ^ Beschreibung ^ |
+ | | Name | Zeichenfolge | Ja | Der Name des Konfigurationselements. | | ||
+ | | Standard | Boolescher Wert | Nein | Auf „true“ setzen, wenn diese Konfiguration für alle pme: | ||
+ | Der Inhalt einer mehrzeiligen Konfiguration muss eine CKEditor-Konfiguration im JSON-Format sein. | ||
- | ^ Attribute | ||
- | | pmedit | ||
- | | pmscale | string | ||
- | | pmscaleheight | integer | No | Use an alternate height instead of the one defined in the height attribute. This is useful for presentation on HiDPI / Retina displays. | ||
- | | pmscalewidth | ||
- | | pmtoctitle | ||
+ | === Beispiel === | ||
- | === Values for pmscale === | + | <code html> |
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </ | ||
- | ^ Value ^ Description | + | < |
- | | crop | + | { |
- | | height | Resize the image to the defined height. The width is calculated proportional to the dimensions of the original image. | | + | " |
- | | width | Resize the image to the defined width. The height is calculated proportional to the dimensions of the original image. | | + | " |
+ | { | ||
+ | | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ] | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | /* This editor uses the default config */ | ||
+ | < | ||
- | === Example | + | /* This editor uses the " |
+ | < | ||
+ | </ | ||
+ | |||
+ | ==== Bilder ==== | ||
+ | |||
+ | Bilder haben keine spezielle OTML-Elementdarstellung. Stattdessen verwenden sie das Standard-HTML-Tag „<img />“ mit erweiterten Attributen. | ||
+ | |||
+ | |||
+ | ^ Attribut ^ Typ ^ Erforderlich ^ Beschreibung ^ | ||
+ | | pmedit | Boolean | Nein | Wenn pmedit wahr ist, kann das Bild bearbeitet werden. | | ||
+ | | pmscale | Zeichenfolge | Nein | Mögliche Werte: Zuschneiden / Höhe / Breite | | ||
+ | | pmscaleheight | Ganzzahl | Nein | Verwenden Sie eine andere Höhe als die im Attribut „height“ definierte. Dies ist nützlich für die Darstellung auf HiDPI-/ | ||
+ | | pmscalewidth | Ganzzahl | Nein | Verwenden Sie eine andere Breite als die im Attribut „width“ definierte. Dies ist nützlich für die Darstellung auf HiDPI-/ | ||
+ | | pmtoctitle | Zeichenfolge | Nein | Titel für den Eintrag im Inhaltsverzeichnis.< | ||
+ | |||
+ | === Werte für pmscale === | ||
+ | |||
+ | ^ Wert ^ Beschreibung ^ | ||
+ | | Zuschneiden | Bild zentrieren und auf die definierten Abmessungen zuschneiden. **Höhe und Breite müssen definiert sein.** | ||
+ | | Höhe | Bildgröße auf die definierte Höhe anpassen. Die Breite wird proportional zu den Abmessungen des Originalbilds berechnet. | | ||
+ | | Breite | Bildgröße auf die definierte Breite anpassen. Die Höhe wird proportional zu den Abmessungen des Originalbilds berechnet. | | ||
+ | |||
+ | |||
+ | === Beispiel | ||
<code html> | <code html> | ||
Zeile 259: | Zeile 417: | ||
- | ==== Appointment | + | ==== Termin |
- | To provide a link to an appointment, you can use the '' | + | Um einen Link zu einem Termin bereitzustellen, können Sie das Element „< |
- | Based on the inserted data, an iCal calendar file will be generated. | + | Basierend auf den eingegebenen Daten wird eine iCal-Kalenderdatei generiert. |
- | + | ^ Attribut | |
- | ^ Attribute | + | | Text | In der E-Mail |
- | | text | Text that is visible in the E-Mail | + | | Zusammenfassung |
- | | summary | + | | OrganizerName |
- | | organizerName | + | | OrganizerEmail |
- | | organizerEmail | + | | DateTimeStart |
- | | dateTimeStart | + | | DateTimeEnd |
- | | dateTimeEnd | + | | Location |
- | | location | + | | Description |
- | | description | + | |
Zeile 285: | Zeile 442: | ||
- | ==== TOC ==== | + | ==== Inhaltsverzeichnis |
- | + | ||
- | A TOC (table of contents) is represented by the OTML tag ''< | + | |
- | The TOC element is used to automatically generate a table of contents based on the values and the order of used '' | + | Ein Inhaltsverzeichnis (TOC) wird durch das OTML-Tag „< |
- | The TOC elements requires exactly one ''< | + | Das TOC-Element dient der automatischen Generierung eines Inhaltsverzeichnisses basierend auf den Werten und der Reihenfolge der verwendeten „pmtoctitle“-Attribute. |
- | complete content of the TOC element is repeatedly inserted for each '' | + | |
+ | Das TOC-Element benötigt genau ein „< | ||
+ | gesamte Inhalt des TOC-Elements wird für jedes „pmtoctitle“-Attribut mit einem Wert wiederholt eingefügt. | ||
- | === Example | + | === Beispiel |
- | == Template | + | == Vorlage |
<code html> | <code html> | ||
Zeile 327: | Zeile 483: | ||
- | ==== External data sources | + | ==== Externe Datenquellen |
- | External data sources make it possible, to embed content from RSS feeds into an E-Mail creative. | + | Externe Datenquellen ermöglichen die Einbindung von RSS-Feed-Inhalten in E-Mails. |
- | The setup of external data sources is individually realized by promio.net GmbH. If you are interested in the usage, please contact your | + | Die Einrichtung externer Datenquellen erfolgt individuell durch die promio.net GmbH. Bei Interesse an der Nutzung kontaktieren Sie bitte unser Support-Team per Ticket. |
- | product manager at promio.net GmbH. | + | |
=== Source === | === Source === | ||
+ | Das Quellelement wird durch das OTML-Tag „< | ||
- | The source element is represented by the OTML tag '' | + | Es dient als Wrapper für die verschiedenen Quellelemente und kann ein oder mehrere „<pm:sourceitem |
- | It serves as wrapper for the different source items and may contain one or more ''< | + | ^ Attribut ^ Erforderlich ^ Typ ^ Beschreibung ^ |
+ | | pmedit | Nein | Boolean | Wenn „true“, dürfen Benutzer Datenquellen ändern. | | ||
- | ^ Attribute ^ Required ^ Type ^ Description | + | === Quellelement === |
- | | pmedit | + | |
+ | Ein Quellelement wird durch das OTML-Tag „< | ||
+ | Es dient als Verbindung zwischen der E-Mail und der eingerichteten Datenquelle. | ||
- | === Source item === | + | ^ Attribut ^ Erforderlich ^ Typ ^ Beschreibung ^ |
+ | | Name | Ja | Zeichenfolge | Eindeutiger Name der Datenquelle. | | ||
+ | | Aktualisierungsmodus | Ja | Zeichenfolge | Mögliche Werte: Erstellung / Zustellung | | ||
- | A source item is represented by the OTML tag ''< | + | == Werte für Aktualisierungsmodus == |
- | It serves as the connection between the E-Mail | + | ^ Wert ^ Beschreibung ^ |
+ | | Erstellung | Datenquelle beim Erstellen der E-Mail | ||
+ | | Zustellung | Datenquelle vor dem Senden der Kampagne aktualisieren. | | ||
- | ^ Attribute | ||
- | | name | Yes | string | ||
- | | refreshmode | Yes | string | ||
- | == Values for refreshmode | + | === Datenabschnitt === |
- | ^ Value ^ Description | + | Ein Datenabschnitt wird durch das OTML-Tag „< |
- | | build | Refresh data source on build of the creative. | + | |
- | | refresh | Refresh data source before sending the campaign. | | + | |
+ | Datenabschnitte dienen dazu, die Vorlage mithilfe von Datenelementen mit Inhalten aus der Datenquelle zu füllen. **Jeder Datenabschnitt muss mindestens ein „< | ||
- | === Data section === | + | ^ Attribut ^ Erforderlich ^ Typ ^ Beschreibung ^ |
+ | | Quelle | Ja | Zeichenfolge | Name der Datenquelle. | | ||
+ | | Elemente | Nein | JSON | Ein JSON-Objekt. Verwenden Sie einen Eintrag pro Datenelement im aktuellen Datenabschnitt, | ||
- | A data section is represented by the OTML tag ''< | + | Mit dem Attribut „Elemente“ können Sie die Inhaltsauswahl für jedes Datenelement festlegen. |
- | Data sections are used to fill the template with content from the data source with the help of data items. **Each data section must contain | + | ^ Wert ^ Beschreibung ^ |
- | at least one ''< | + | | (Element-ID) | Wählt ein Datenelement anhand seiner eindeutigen ID aus. | |
+ | | Nächstes | Wählt das nächste Datenelement in der Liste aus. Dies ist die am häufigsten verwendete Option. | | ||
+ | | Rand | Wählt ein zufällig ausgewähltes Datenelement aus. | | ||
+ | == Beispiel == | ||
- | ^ Attribute ^ Required ^ Type ^ Description | + | Wenn Sie den Inhalt des ersten Datenelements auf die eindeutige ID „12345“ und den Inhalt des zweiten Datenelements auf zufällige Daten setzen möchten, verwenden Sie diese Zeichenfolge: |
- | | source | + | |
- | | items | No | json | A json object. Use one entry per data item inside the current data section, to define, how the next data item will be chosen.< | + | |
- | + | ||
- | + | ||
- | With the '' | + | |
- | + | ||
- | ^ Value ^ Description | + | |
- | | (itemId) | + | |
- | | next | Choose the next data item in the list. This is the most used option. | | + | |
- | | rand | Choose a random data item. | | + | |
- | + | ||
- | + | ||
- | == Example == | + | |
- | + | ||
- | If you want to set the content of the first data item to the unique id '' | + | |
<code json> | <code json> | ||
Zeile 398: | Zeile 546: | ||
- | === Data item === | + | === Datenelement |
- | A data item is represented by the OTML tag '' | + | Ein Datenelement wird durch das OTML-Tag „<pm:data />“ repräsentiert. |
- | Data items are placed inside a data section. Each one represents one record from the data source. | + | Datenelemente befinden sich in einem Datenabschnitt. Jedes repräsentiert einen Datensatz der Datenquelle. |
- | Inside a data item, it's possible to use the placeholder '' | + | Innerhalb eines Datenelements kann der Platzhalter „[pm: |
- | '' | + | |
- | E.g.: '' | + | Beispiel: „[cut([pm: |
- | It's only possible to access each data item one time. If you want to access the same item multiple times, it is necessary to use multiple | + | Auf jedes Datenelement kann nur einmal zugegriffen werden. Wenn Sie dasselbe Element mehrmals aufrufen möchten, müssen Sie mehrere Datenquellen mit demselben Inhalt verwenden. Kontaktieren Sie in diesem Fall bitte unser Support-Team per Ticket. |
- | data sources with the same content. In this case, please contact your product manager at promio.net GmbH. | + | |
- | === Example | + | === Beispiel |
- | == Sample data source "Top 10 Products" | + | == Beispieldatenquelle „Top 10 Produkte“ |
- | ^ id ^ title | + | ^ ID ^ Titel ^ Preis ^ Bild ^ Link |
|123 | Smartphone | 350.00 € | smartphone.jpg | www.sample.com/ | |123 | Smartphone | 350.00 € | smartphone.jpg | www.sample.com/ | ||
|124 | Watch | 150.00 € | watch.jpg | |124 | Watch | 150.00 € | watch.jpg | ||
Zeile 423: | Zeile 569: | ||
- | + | == Vorlagencode | |
- | == Template code == | + | |
<code html> | <code html> | ||
Zeile 492: | Zeile 637: | ||
- | == Rendered | + | == Gerenderter |
<code html> | <code html> | ||
Zeile 545: | Zeile 690: | ||
+ | === Wenn-Bedingungen innerhalb von Datenelementen === | ||
- | === If-conditions within data items === | + | Es ist möglich, Wenn-Bedingungen innerhalb von Datenelementen zu verwenden. |
- | + | ||
- | It is possible to use If-conditions within data items. | + | |
<code html> | <code html> | ||
Zeile 586: | Zeile 730: | ||
+ | ==== Externer Inhalt ==== | ||
+ | „pm: | ||
- | ===== CSS ===== | + | Sie können diesen Tag auch im Betreff einer E-Mail verwenden. |
- | ==== Automatic transformation from CSS to inline CSS ==== | + | ^ Attribut ^ Typ ^ Erforderlich ^ Beschreibung ^ |
+ | | URL | Zeichenfolge | Ja | Die URL des einzubindenden Inhalts. | | ||
+ | | Titel | Boolesch | Nein | Wenn „true“, wird der Inhalt des Titel-Tags der URL zurückgegeben. | | ||
- | CSS from ''< | + | === Beispiel === |
- | Also, the CSS inlining only works on HTML elements with one selector. | + | |
+ | Als Inhalt einer E-Mail: | ||
+ | <code html> | ||
+ | < | ||
+ | This default text is only visible if the url does not return any content. | ||
+ | </ | ||
+ | </ | ||
- | === Example === | + | Als Betreff: |
<code html> | <code html> | ||
- | <head> | + | <pm:include-url-content url=" |
- | < | + | This default title is only visible if the url does not return any content. |
- | / | + | </pm: |
- | * Working examples * | + | </code> |
- | *******************/ | + | |
- | + | ===== CSS ===== | |
- | .foo { | + | |
- | font-size: 12px; | + | ==== Automatische Transformation von CSS zu Inline-CSS ==== |
- | line-height: 1.4; | + | |
- | } | + | |
- | + | ||
- | .bar { | + | |
- | background-color: #fff; | + | |
- | } | + | |
- | + | ||
- | img { | + | |
- | border: 0; | + | |
- | } | + | |
- | + | ||
- | + | ||
- | /*********************** | + | |
- | * Non-working examples * | + | |
- | ************************/ | + | |
- | + | ||
- | .baz, .boz { | + | |
- | font-size: 15px; | + | |
- | } | + | |
- | + | ||
- | table td { | + | |
- | background-color: | + | |
- | } | + | |
- | </ | + | |
- | </ | + | |
- | < | + | |
- | / | + | |
- | * Working examples * | + | |
- | *******************/ | + | |
- | < | + | |
- | < | + | |
- | <td class="bar"> | + | |
- | < | + | |
- | </td> | + | |
- | </tr> | + | |
- | <tr> | + | |
- | <img alt="" | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | / | + | |
- | * Non-working examples * | + | |
- | ************************/ | + | |
- | < | + | |
- | < | + | |
- | <td class="foo bar"> | + | |
- | Lorem ipsum dolor sit amet | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
- | </ | + | |
+ | CSS aus einem < | ||
+ | Weitere Informationen hierzu finden Sie in den Optionen **cssinline** und **cssinlinetype** in [[en: | ||
- | ==== User editable | + | ==== Benutzerbearbeitbares |
- | To give users the freedom to edit the CSS, there are some prerequisites: | + | Um Benutzern die Möglichkeit zu geben, das CSS zu bearbeiten, gibt es einige Voraussetzungen: |
- | * The style tag must use the id '' | + | * Der Style-Tag muss die ID „pn-js-css-editor“ verwenden. Nur ein Style-Tag mit dieser ID ist zulässig. |
- | * Each selector must use a comment block with the descriptors '' | + | * Jeder Selektor muss einen Kommentarblock mit den Deskriptoren „@nav“, „@navItem“ und „@info“ verwenden. |
- | * '' | + | * „@nav“ repräsentiert die Kategorie im CSS-Editor und gruppiert die verschiedenen „@navItem“-Elemente. |
- | * '' | + | * „@navItem“ repräsentiert das Element innerhalb der Kategorie. Dieser Name muss für alle CSS-Selektoren innerhalb derselben Kategorie „@nav“ eindeutig sein. |
- | * '' | + | * „@info“ dient als Beschreibung für das Element „@navItem“. |
<code html> | <code html> | ||
Zeile 706: | Zeile 807: | ||
- | ===== Dynamic content | + | ===== Dynamische Inhalte |
- | ==== Placeholders | + | ==== Platzhalter |
- | With the help of placeholders, | + | Mithilfe von Platzhaltern können Sie auf die Felder Ihrer Benutzerdaten zugreifen oder dynamische Inhalte einbinden. |
- | You can access each user data field, if you place a '' | + | Sie können auf jedes Benutzerdatenfeld zugreifen, indem Sie vor dem Feldnamen ein „$“-Zeichen setzen. Greifen Sie beispielsweise mit „$name“ auf das Feld „Name“ zu. |
- | A list of all universal available placeholders is available with click on the placeholder button inside the toolbar of a multiline editor. | + | Eine Liste aller universell verfügbaren Platzhalter erhalten Sie über die Platzhalter-Schaltfläche in der Symbolleiste eines mehrzeiligen Editors. |
- | If custom placeholders are requried, feel free to contact your product manager at promio.net GmbH. | + | Sollten Sie benutzerdefinierte Platzhalter benötigen, kontaktieren Sie bitte unser Support-Team per Ticket. |
- | === Example | + | === Beipsiel |
- | '' | + | „$salutation_en_formal“ wird bei männlichen Empfängern durch „Sehr geehrter Herr Mustermann“ bzw. bei weiblichen Empfängern durch „Sehr geehrte Frau Mustermann“ ersetzt. |
- | If no gender is given, it will fall back to "Dear Sir or Madan." | + | Wenn kein Geschlecht angegeben ist, wird die Anrede auf „Sehr geehrte Damen und Herren“ zurückgesetzt. |
+ | ==== Bedingungen ==== | ||
- | ==== Conditions ==== | + | Inhalte können auch mit Bedingungen personalisiert werden. |
- | It is also possible to personalize content with conditions. | + | === Beispiel === |
- | + | == Personalisierte Anrede mit Fallback | |
- | === Example === | + | |
- | + | ||
- | == Personalized salutation with fallback | + | |
<code html> | <code html> | ||
Zeile 739: | Zeile 838: | ||
<if> | <if> | ||
< | < | ||
- | < | + | < |
</ | </ | ||
< | < | ||
< | < | ||
- | < | + | < |
</ | </ | ||
< | < | ||
- | < | + | < |
</ | </ | ||
</ | </ | ||
Zeile 752: | Zeile 851: | ||
- | ==== Functions | + | ==== Funktionen |
=== pn_substr === | === pn_substr === | ||
- | With the function '' | + | Mit der Funktion „pn_substr“ lässt sich der Wert von Platzhaltern auf eine bestimmte Anzahl von Zeichen kürzen. |
- | E.g.: '' | + | Beispiel: „pn_substr(name, |
- | ==== Config | + | ==== Konfigurations-Tags ==== |
- | Config tags make it possible to control the behaviour of the E-Mail | + | Konfigurations-Tags ermöglichen die Steuerung des Verhaltens des E-Mail-Editors. |
- | ^ Attribute | + | ^ Attribut |
- | | cssinline | + | | cssinline | Boolean |
- | | cssinlinetype | string | + | | cssinlinetype | String |
- | | storage | + | | storage | String |
- | | ignoreerror | + | | ignoreerror | Boolean |
- | + | === Beispiel | |
- | === Values for cssinlinetype === | + | |
- | + | ||
- | ^ Value ^ Description | + | |
- | | legacy | Use the legacy CSS inliner. | | + | |
- | | ng | Use the new CSS inliner. | + | |
- | + | ||
- | + | ||
- | === Values for storage === | + | |
- | + | ||
- | ^ Value ^ Description | + | |
- | |frame | + | |
- | |shadow | Save the contents from a shadow copy of the E-mail. This assures that the E-mails source code could not be changed by browser plugins. | + | |
- | + | ||
- | + | ||
- | === Example | + | |
<code html> | <code html> | ||
Zeile 797: | Zeile 881: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | === Werte für cssinlinetype === | ||
+ | |||
+ | ^ Wert ^ Beschreibung ^ | ||
+ | | Standard | Verwendet den alten CSS-Inliner. | | ||
+ | | ng | Verwendet den neuen, verbesserten CSS-Inliner. | | ||
+ | |||
+ | Der **Standard**-CSS-Inliner kann CSS nur für einzelne, nicht durch Kommas getrennte Selektoren transformieren. | ||
+ | Der **ng**-CSS-Inliner („nächste Generation“) unterliegt diesen Einschränkungen nicht und kann CSS-Blöcke mit durch Kommas getrennten Selektoren inline einfügen. | ||
+ | |||
+ | == Beispiele für den Standard-CSS-Inliner == | ||
+ | |||
+ | <code html> | ||
+ | < | ||
+ | < | ||
+ | / | ||
+ | * Working examples * | ||
+ | *******************/ | ||
+ | |||
+ | .foo { | ||
+ | font-size: | ||
+ | line-height: | ||
+ | } | ||
+ | |||
+ | .bar { | ||
+ | background-color: | ||
+ | } | ||
+ | |||
+ | img { | ||
+ | border: 0; | ||
+ | } | ||
+ | |||
+ | |||
+ | / | ||
+ | * Non-working examples * | ||
+ | ************************/ | ||
+ | |||
+ | .baz, .boz { | ||
+ | font-size: | ||
+ | } | ||
+ | |||
+ | table td { | ||
+ | background-color: | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | / | ||
+ | * Working examples * | ||
+ | *******************/ | ||
+ | < | ||
+ | < | ||
+ | <td class=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | < | ||
+ | <img alt="" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | / | ||
+ | * Non-working examples * | ||
+ | ************************/ | ||
+ | < | ||
+ | < | ||
+ | <td class=" | ||
+ | Lorem ipsum dolor sit amet | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Werte für die Speicherung === | ||
+ | |||
+ | ^ Wert ^ Beschreibung ^ | ||
+ | |frame | Speichert den Inhalt des Vorschau-Iframes. | ||
+ | | ||
+ | |shadow | Speichert den Inhalt einer Schattenkopie der E-Mail. Dadurch wird sichergestellt, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{tag> OTML Templates Vorlage }} | ||
+ |