Startseite
Startseite

Startseite / Vorlagenentwicklung / Vorlagensyntax / Funktionen / in Anweisungen / editorId

editorId(...)

 

Die Funktion editorId(...) ermöglicht die Verwendung von Content Highlighting und EasyEdit im JavaClient bzw. WebClient. Diese Funktionen dienen zum Ansteuern und Bearbeiten von formularbasierten Store-Elementen und Eingabekomponenten innerhalb der Vorschauansichten per Formular, EasyEdit/InEdit sowie Drag & Drop.

Wichtig Die vollständige Dokumentation mit Anwendungsbeispielen und Hinweisen zur Verwendung in JavaClient und WebClient ist im Kapitel Einsatz von Content Highlighting und EasyEdit in Projekten verfügbar.

Um diese Funktionen im Projekt zu aktivieren, müssen die Vorlagen (in diesem Fall der HTML-Ausgabekanal) angepasst werden. Das Prinzip ist bei beiden Funktionen identisch. Die HTML-Elemente, die hervorgehoben werden sollen, müssen innerhalb einer HTML-Seite eindeutig referenzierbar sein. Auf technischer Seite werden dazu „Editor-Identifier“ eingesetzt, die vom Vorlagenentwickler innerhalb der HTML-Vorlagen des Projekts hinterlegt werden können. Dazu wird der Aufruf editorId() verwendet. Als Parameter kann beispielsweise der Name einer Eingabekomponente übergeben werden.

Der Aufruf:

$CMS_VALUE(editorId(editorName:"pt_headline"))$

sorgt beispielsweise dafür, dass der Wert der Eingabekomponente „pt_headline“ im HTML-Ausgabekanal hervorgehoben wird - unabhängig davon, ob der Redakteur diesen Inhalt im JavaClient oder im WebClient bearbeiten möchte.

Jeder „Editor-Identifier“ muss einem passenden HTML-Element zugeordnet werden. Dazu zählen HTML-Tags zur blockweisen Darstellung von Inhalten, beispielsweise die <h>-Tags zur Darstellung von Textüberschriften (<h1>, <h2>, <h3>, ...) und das <p>- oder <div>-Tag zur Darstellung von größeren Inhaltsbereichen. Zum Hervorheben einer Überschrift, muss der Aufruf von editorId() also innerhalb des <h>-Elements im HTML-Ausgabekanal erfolgen:

<h3$CMS_VALUE(editorId(editorName:"pt_headline"))$>

Neben dem blockweisen Hervorheben von HTML-Inhalten kann so auch eine elementbezogene Hervorhebung, beispielsweise eines Bildes in einem <img>-Tag, realisiert werden:

<img src="$CMS_REF(st_picture)$" alt="" $CMS_VALUE(editorId(editorName:"st_picture"))$ />

Neben dem Namen einer Eingabekomponente ist auch die Übergabe weiterer Parameter möglich.

Parameter für editorId()-Aufrufe

  • entity: Übergabe eines Entity-Objekts.
    Beispiel siehe Vorlagenanpassung für Datenbank-Inhalte.
  • template: Übergabe einer Tabellenvorlage (TableTemplate-Objekt) oder der UID einer Tabellenvorlage (als String, z. B. „schema.gallery“).
  • view: Übergabe einer Datenquelle (Content2-Objekt) oder der UID einer Datenquelle (als String).
    Beispiele siehe Vorlagenanpassung für mehrwertige Eingabekomponenten (FS_LIST) und
    Vorlagenanpassung für Datenbank-Inhalte.
  • element: Übergabe eines FirstSpirit-Objekts (vom Typ IDProvider) z. B. einer GCA (#global.gca(„...“)) oder eines Inhaltsbereichs (#global.page.body(„...“)).
    Beispiel siehe Vorlagenanpassung für Inhaltsbereiche.
  • target: Über den Parameter „target“ kann (analog zum Parameter „element“) ein FirstSpirit-Objekt übergeben werden. Dabei können über „target“ nicht nur Objekte vom Typ IDProvider, sondern auch weitere FirstSpirit-Objekte (z. B. ein FormDataList-Objekt aus der Iteration über einen FS_LIST-Absatz) übergeben werden.
    Relevant ist der Parameter immer dann, wenn das gewünschte Zielobjekt für den editorId()-Aufruf nicht direkt aus dem Generierungskontext ermittelt werden kann. Das gilt beispielsweise bei verschachtelten Eingabekomponenten.
    Soll beispielsweise ein einzelner Editor innerhalb einer FS_LIST-Eingabekomponente identifiziert werden, benötigt der editorId()-Aufruf folgende Informationen:
    • Parameter „element“: Objekt, das eine FS_LIST enthält
    • Parameter „target“: FormDataList-Objekt des FS_LIST-Absatzes
    • Parameter „editorName“: Name der Eingabekomponente des FS_LIST-Absatzes
  • Einige dieser Informationen können automatisch aus dem Generierungskontext ermittelt werden und müssen daher innerhalb der Vorlage nicht mehr übergeben werden.
    Beispiel siehe Vorlagenanpassung für mehrwertige Eingabekomponenten (FS_LIST).
    Ein weiteres Beispiel für die Verwendung des Parameters „target“ ist die Identifizierung eines Datensatzes.
  • resolution: Dieser Parameter ist nur für die Darstellung im WebClient relevant.
    Über diesen Parameter kann die Bildzuschnittsfunktion im WebClient aktiviert werden. Siehe dazu Bildzuschnitt im WebClient.
  • reloadPreview: Dieser Parameter ist nur für die Darstellung im WebClient relevant.
    Werden über die EasyEdit- oder InEdit-Funktion Änderungen in einem Teilbereich der HTML-Seite ausgeführt, beispielsweise durch das Ändern einer Überschrift, so wird nur dieser geänderte HTML-Bereich neu geladen und in der HTML-Seite ersetzt. Auf diese Weise wird eine schnelle Aktualisierung der Seitenvorschau erreicht. Für einige Änderungen greift diese gezielte Aktualisierung nicht, da die Änderungen außerhalb des aktuellen HTML-Bereichs liegen. In diesem Fall kann das Laden der gesamten Seite über den Parameter „reloadPreview“ (reloadPreview:true) angestoßen werden. Standardmäßig ist das Laden der gesamten Seite bei Änderungen über die EasyEdit- oder InEdit-Funktion im WebClient ausgeschaltet.
  • editorName: Übergabe der UID einer Eingabekomponente.
    Beispiel siehe Vorlagenanpassung für Eingabekomponenten.
  • meta: Dieser Parameter ist nur für die Darstellung im WebClient relevant. Sollen über die InEdit-Funktion nicht die redaktionellen Formular-Inhalte, sondern die Metadaten eines FirstSpirit-Objekts (z. B. Seite, Absatz, Medium) bearbeitet werden, kann im editorId()-Aufruf der Parameter meta:true gesetzt werden. In diesem Fall wird beim Aktivieren der InEdit-Funktion nicht das Formular zum Bearbeiten der redaktionellen Inhalte, sondern das Formular zum Bearbeiten der Metadaten geöffnet. Standardmäßig ist das Bearbeiten der Metadaten über die InEdit-Funktion im WebClient ausgeschaltet (Beispiele siehe Metadaten bearbeiten).
    Hinweis: Das Attribut meta:true kann nur zusammen mit dem Parameter editorName verwendet werden. Beim übergebenen editorName muss es sich um die UID einer Eingabekomponente aus der Metadaten-Vorlage handeln.

Wird kein Parameter übergeben, wird automatisch der aktuelle Kontext verwendet (z. B. der Absatz oder die Seite).

Wichtig Die Editor-Identifier werden sowohl beim Bearbeiten im WebClient (per EasyEdit oder InEdit) ausgewertet als auch für das Content Highlighting des FirstSpirit JavaClients. Die identifizierbaren Formularelemente erhalten im WebClient eine EasyEdit- und eventuell eine InEdit-Bearbeitungsmöglichkeit (siehe dazu unterstützte Eingabekomponenten (InEdit)) und ermöglichen zugleich das Content Highlighting dieser Elemente im JavaClient – beides über die gleiche Vorlagenanpassung.
Ist das nicht erwünscht, muss innerhalb des HTML-Ausgabekanals eine unterschiedliche Behandlung für JavaClient und WebClient implementiert werden (siehe Fallunterscheidung JavaClient/WebClient).

Folgende Hervorhebungen können realisiert werden:

© 2005 - 2014 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2012-12-20