Startseite
Startseite

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

editorId(...)

 

Die Funktion editorId(...) ermöglicht die Verwendung von Content Highlighting und EasyEdit im SiteArchitect bzw. ContentCreator. 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 SiteArchitect und ContentCreator 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 SiteArchitect oder im ContentCreator 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 ContentCreator relevant.
    Über diesen Parameter kann die Bildzuschnittsfunktion im ContentCreator aktiviert werden. Siehe dazu Bildzuschnitt im ContentCreator.
  • reloadPreview: Dieser Parameter ist nur für die Darstellung im ContentCreator 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 ContentCreator ausgeschaltet.
  • editorName: Übergabe der UID einer Eingabekomponente.
    Beispiel siehe Vorlagenanpassung für Eingabekomponenten.
  • meta: Dieser Parameter ist nur für die Darstellung im ContentCreator 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 ContentCreator 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).

Siehe dazu auch Funktion editorID(...).

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

Folgende Hervorhebungen können realisiert werden:

© 2005 - 2015 e-Spirit AG | Alle Rechte vorbehalten. | Letzte Änderung: 2014-10-30