FormattedText
Einsatz
FormattedText ist ein Datencontainer, welcher Text mit Formatierungsoptionen (u.A. Fett, Kursiv, Unterstrichen, Umbrüche oder auch Word-spezifische Formatierungen) enthalten kann.
Dabei handelt es sich bei FormattedText, egal in welchem Kontext, technisch um HTML:
<p>Erstellt mit: <b>primedocs</b>!</p>
Erstellt mit: primedocs!
FormattedText bietet sich an, um einfache Formatierungsoptionen abzubilden, welche sowohl in Word-, PowerPoint- oder Outlook-Vorlagen genutzt werden können.
In FormattedText können auch produktspezifische Formatierungsoptionen hinterlegt werden, sodass z. B. ein Absatz in Word mit einem Style ausgestattet sein kann.
Syntax
FormattedText kommt in primedocs vor als…
- Field-Typ, somit als
Codeerzeugbar, wobei FormattedText als Textbaustein oder globale Übersetzung geholt werden kann. - Typ einer Globalen Übersetzung
- Typ Textbaustein.
HTML-Elemente
Die folgenden Listen zeigen alle möglichen HTML-Elemente und ihre Attribute, welche in den Vorlagen verwendet werden können (entweder als Textbaustein, als Field-Typ, etc.).
Word-Vorlagentypen
Elemente:
<p>Paragraph</p>
<span>Span</span>
<sup>superscript</sup>
<sub>subscript</sub>
<u>underline</u>
<i>italic</i>
<em>italic</em>
<b>bold</b>
<strong>bold</strong>
<br />
<custom-tab />
Attribute, auf span und p:
"data-office-font"
"data-office-font-size"
"data-office-color-hex"
"data-office-color-theme-name"
"data-word-style-id";
"data-word-space-after"
"data-word-space-before"
"data-word-indentation"
"data-word-alignment" (Center, Right, Left)
Attribute auf br:
"data-word-break-type" (Page)
PowerPoint-Vorlagentypen
Elemente:
<p>Paragraph</p>
<span>Span</span>
<sup>superscript</sup>
<sub>subscript</sub>
<ul><li>list</li></ul>
<ol><li>list</li></ol>
<u>underline</u>
<i>italic</i>
<em>italic</em>
<b>bold</b>
<strong>bold</strong>
<br />
Attribute, auf span und p:
"data-office-font";
"data-office-font-size";
"data-office-color-hex";
"data-office-color-theme-name";
"data-powerpoint-alignment" (Center, Right, Left)
Dynamische Attribute
Einige native HTML‑Attribute können mit Werten aus Fields befüllt werden. Diese Funktion steht in allen Vorlagen‑Typen zur Verfügung, die FormattedText unterstützen.
Beispiel:
<a href="{{url}}">Link</a>
Mögliche Attribute:
alt
aria-label
class
href
id
name
src
title
value
ℹ️ Info Alle hier nicht aufgeführten Attribute können nicht dynamisch gesetzt werden. Dies betrifft insbesondere sämtliche
data-Attribute. Diese Einschränkung dient der Sicherstellung der Validierbarkeit der Vorlagen.
Outlook (new) - Vorlagentypen
ℹ️ Info Es ist der webfähige Outlook-Client gemeint.
Der webfähige Outlook Client (Outlook (new)) nutzt HTML als “Beschreibung” für E-Mails und Signaturen. Daher können FormattedText-Daten hier direkt genutzt werden. Zusätzlich können alle unterstützten HTML Elemente und Attribute genutzt werden, welche Outlook erlaubt.
Outlook (new) ignoriert gewisse CSS-Eigenschaft wie white-space: pre-wrap, wodurch Zeilenumbrüche und Leerzeichen nicht wie in Standard-Browsern dargestellt werden. Um das gewünschte Layout zu erreichen, ist das Einfügen von <br> Elementen notwendig.
FormattedText als Field
Möchte man einen FormattedText in eine (oder mehrere) Vorlage(n) einbauen, kann dieser in einem Field vom Typ FormattedText definiert werden. Über das Field ist es dann möglich, globale FormattedText-Übersetzungen, Textbausteine vom Typ Formatierter Text, Fixtexte oder andere Felder auszugeben.
Verhalten von Paragraphen
Das Verhalten hängt von dem Vorkommen von Paragraphen (<p>) ab:
- Ist mindestens eines der Elemente ein Paragraph,
werden alle nicht-Paragraph-Elemente jeweils in einen separaten Paragraphen gesetzt. - Ist keines der Elemente ein Paragraph,
werden alle Elemente ohne zusätzliche Absatzumbrüche direkt aneinandergereiht. Dieses Verhalten ist beabsichtigt und gilt für sämtlichen FormattedText, unabhängig von dessen Herkunft oder Verwendung.
Eine globale Übersetzung vom Typ FormattedText kann in Fields über die translations-API ausgegeben werden. Ähnlich kann auch auf bestehende Textbausteine vom Typ Formatierter Text über die snippets-API zugegriffen werden. Weitere Möglichkeiten bietet die formattedText-API.
Erfahren Sie im Layouter-Handbuch mehr zum Einsatz von FormattedText-Fields: Word: Eintauchen in Fields
FormattedText als Globale Übersetzung
FormattedText kann als globale Übersetzung in den Globalen Übersetzungen abgespeichert werden. Der Vorteil davon ist, dass man keinen Textbaustein erstellen muss sondern den Text in seinem technischen Format, HTML, direkt erstellen kann und dabei auch sehr einfach den “Handlebars.js”-Syntax nutzen kann.
Globale FormattedText-Übersetzungen werden über ein FormattedText-Field via translations-API beim Erstellen von Dokumenten ausgegeben.
FormattedText als Textbaustein
Ein FormattedText kann auch als Textbaustein vom Typ Formatierter Text unter den Vorlagen-Textbausteinen abgespeichert werden. Textbausteine dieses Typs werden allerdings nur beim Vorlagenbau bzw. Templating eingesetzt und daher von Endbenutzern nicht verwendet.
FormattedText-Textbausteine können keine Tabellen, Bilder oder andere komplexe Inhalte abspeichern. Dazu eignen sich jedoch Textbausteine vom Typ WordContent.
Ebenfalls gibt es keine Möglichkeit, den Handlebars.js-Syntax für Kontrollstrukturen (Bedingungen) oder Schleifen abzubilden. Dazu werden globale FormattedText-Übersetzungen verwendet.
FormattedText-Textbausteine werden über ein FormattedText-Field via snippets-API beim Erstellen von Dokumenten ausgegeben.
TIPP
FormattedText-Textbausteine sind zwar weniger flexibel als globale Übersetzungen oder die Definition in den Fields, jedoch gibt es einen automatischen Konvertierer: Erstellt man einen Text in Word, kann man über die Textbaustein-Seitenleiste den Textbaustein als Formatierter Text ablegen und den generierten HTML-Inhalt (z. B. für eine globale FormattedText-Übersetzung) weiternutzen.
Platzhalter, Schleifen und Bedingungen
Mithilfe von benannten Parametern können in globalen Übersetzungen Platzhalter erstellt werden, die über die Fields später Absätze (<p></p>) oder Schlaufen mit dynamischen Daten füllen.
Hierbei nutzt primedocs die HTML Template Engine “Handlebars.js”. Hier finden Sie die Dokumentation: Expressions | Handlebars (handlebarsjs.com).
Schleifen und Bedingungen können auch in den Fields direkt über JavaScript implementiert werden. Siehe dazu unser Layouter-Handbuch: Javascript In Fields