Mit dem Tag PFPlaceholder können Text-Platzhalter erstellt werden, um Inhalte über den Formulareditor im printformer Editor (Strict) oder automatisiert über eine externe Datenquelle, in einen bestehenden Text oder Textrahmen, einfließen zu lassen.

Allgemeine Funktionen

  • Die Placeholder beziehen ihren Inhalt anhand eines oder mehrerer DataKeys aus einer Zeile der Datenquelle:

    • ein Placeholder kann mehrere DataKeys haben (kommasepariert, etwaige Leerzeichen werden gelöscht)

      • dabei werden die Inhalte aus der Datenquelle mit einem definierbaren Trennzeichen zusammengeführt

      • sollte für einen DataKey kein Inhalt in der Datenquelle hinterlegt sein, bzw. entspricht der Inhalt einem leeren String, wird der DataKey bei der Zusammenführung übersprungen, so dass es nicht zu einer Dopplung der Trennzeichen kommt

    • Placeholder können auch mit Daten (DataKeys) aus dem printformer System befüllt werden werden (bspw. für automatische Seitenzahlen).

  • der Inhalt wird grundsätzlich einem Trimming unterzogen, so dass keine Leerzeichen am Anfang oder am Ende des Strings stehen bleiben

  • Placeholder haben einen Standardwert, der dem Text aus dem Template entspricht. (Im oberen Beispiel aus InDesign ist der Standardwert: "Platzhalter"). Der Standardwert wird im printformer Editor nur angezeigt wenn dafür ein bestimmtes Attribut (use-standard-text-if-empty = true) hinzugefügt wird. Ansonsten erscheint dort nur Text wenn über den Formulareditor etwas eingegeben wurde.

  • ein Placeholder hat nur ein Zeichenformat (Textstyle), werden einzelne Zeichen des Placeholders umformatiert, kommt bei der Verarbeitung nur das Format des ersten Zeichens zur Anwendung

  • Platzhalter die nicht aus formatierten Katalogprodukten oder StyledText befüllt wurden können keine Aufzählungspunkte beinhalten.

  • Soll der als Platzhalter im InDesign-Dokument eingegebene Text (= Standardtext) im printformer Template (Editor) sichtbar sein, muss das Attribut "use-standard-text-if-empty": true dem Placeholder-Tag hinzugefügt werden.
    Dabei ist jedoch zu beachten, dass dieser Text gedruckt wird, falls keine neuer Text eingegeben wird, bzw. der Inhalt des Placeholders aus einer Datenquelle gezogen wird

Die Verwendung von Placeholdern in einem Gruppentemplate mit content-identifier funktioniert nicht wenn diese innerhalb eines (Fließ-)Textes stehen. Ebenso dürfen keine Leerzeichen außerhalb des Placeholder vorhanden sein.

Eine Kombination aus Inline-Text (Textbearbeitung direkt im Textblock) und dem Formulareditor ist nicht möglich.

Besteht das Template (oder eine Seite im Template) nur aus Placeholdern, die mittels Formulareditor befüllt werden können (und keinen editierbaren Blöcken) wird der Sidebar-Button Editieren automatisch ausgeblendet.

Placeholder im InDesign anlegen

Um die Bearbeitung zu vereinfachen sollten zunächst die Tag-Marken eingeblendet werden (Ansicht > Struktur > Tag-Marken einblenden).

Zur Definition eines Placeholders im InDesign-Dokument wird dem gewünschten Textrahmen zunächst der Tag PFBlock zugewiesen (Rechtsklick > Tag für Rahmen > PFBlock – oder über das Tag-Menüfenster). Wenn gewünscht kann die Bearbeitung des gesamten Blocks mittels Attributen eingeschränkt werden (bspw. block-disable-interactions).

Anschließend werden die gewünschte/n Textstelle/n markiert und mit dem Tag PFPlaceholder versehen (Rechtsklick > Tag für Text > PFPlaceholder).

Um den einzelnen Placehodern Inhalte später zuweisen zu können, wird jeweils ein Attribut mit einem oder mehreren data-keys hinzugefügt (Rechtsklick auf den Tag > Neues Attribut… > Name: data-keys; Wert: frei wählbar).

Sollte nachträglich der getaggte Text oder die Markierung verändert werden kann der Text auch im Textmodus (Cursor im Text > cmd + y) bearbeitet werden. Dort sind die Marker deutlicher sichtbar und der Cursor kann einfacher gesetzt werden. Auch die Einblendung der “Verborgenen Zeichen” kann für die Bearbeitung hilfreich sein (Menüleiste Schrift > Verborgene Zeichen einblenden).

Sind bei (bspw. mehrseitigen) Templates die gleichen Placeholder (identische data-keys) mehrfach im Template enthalten, wird der Inhalt eines im Editor ausgefüllten Feldes für die weiteren Textblöcke übernommen.

Screenvideo

Zusammenfassung aller oben beschriebenen Schritte:

Name
(* = Pflichtfeld)

Werte

Verwendung

Anwendungsbeispiel

Attribute

 

data-keys*

 

Ein oder mehrere DataKeys (kommasepariert), anhand derer in den aktuellen Datenquellen nach Inhalten für den Block gesucht wird.
Bei Verwendung des Formulareditors erscheint jeder DataKey als Feld zum Ausfüllen.
Sind keine DataKeys hinterlegt, wird unabhängig vom Attribut use-standard-text-if-empty der Standardtext aus dem Template angezeigt (und kann nicht überschrieben werden).

Ist die Datenquelle modifizierbar führen mehrere DataKeys jedoch zu einer impliziten nicht Modifizierbarkeit des Inhalts. (Ausnahme: Wenn der Formulareditor aktiviert ist erstellt dieser eine eigene Datenbank)

Erstellung von Visitenkarten (automatisierte Datenzusammenführung) mit DataKeys Name, Adresse, Telefon, etc.

separator

 

Wird als zusammenhängende Zeichenkette zur Trennung von Inhalten bei mehreren DataKeys verwendet.

Standardwert: ", "

Die Inhalte der DataKeys sollen mit einem / getrennt werden
(data-key1/data-key2/…)

is-content-modifiable

true oder false

Inhalte die per Datenquellen in den Placeholder geladen werden, können durch dieses Attribut überschrieben werden.

Standardwert: false

In ein Container Template werden Artikel über den Feed geladen, die der User im Editor anpassen kann (bspw. Preise oder Beschreibung).

use-standard-text-if-empty

true oder false

Der als Platzhalter im InDesign-Dokument eingegebene Text (= Standardtext) bleibt bestehen wenn kein anderer Text eingegeben wird. (Ist dieses Attribut nicht vorhanden erscheint der Placeholder im Editor als leere Fläche.)

Standardwert: false
Whitespaces gelten nicht als Inhalt

Im Template soll der Platzhalter sichtbar sein.
Ist dieses Attribut vergeben wird der Standardtext gedruckt wird falls kein neuer Text eingegeben wurde.

strip-styles

true oder false

Bietet die Möglichkeit einen Platzhalter mit Text aus einer Datenquelle, der bereits formatiert ist (StyledText) ohne dessen Textstyle einzufügen.
Standardwert: false

Aus einem gestalteten Haupttitel eines Buches soll der Titel entnommen und ohne dessen Formatierung auf die erste Seite des Buchblocks gesetzt werden.

condition-JSON

JSON-String

Bietet die Möglichkeit den Text nur einzublenden wenn die vorgegebenen Bedingungen erfüllt sind.

das Wort “Mobil” erscheint nur wenn eine Mobilnummer vorhanden ist
{    "left": "${[Mobil-Nummer]}",
  "operator": "not-equal",
    "right": ""
}