Startseite
jump to top

Startseite / Vorlagenentwicklung / Schnipsel

Schnipsel

Inhaltsverzeichnis
Seitenvorlagen Schnipsel

Über das Register „Schnipsel“ kann für einige Vorlagentypen bestimmt werden, wie FirstSpirit-Objekte im SiteArchitect und im ContentCreator (in Kurzform, „Teaser“) dargestellt werden sollen, die auf diesen Vorlagen basieren (z. B. Seiten, Absätze, Datensätze).

Ziel ist es, FirstSpirit-Objekte nicht (nur) mit dem Namen (also je nach Objekt-Typ: Seitenname, Absatzname, Datensatz-ID usw.) darzustellen, sondern mit

  • einem Bild (im Bereich „Miniaturansicht“),
  • einem Titel (im Bereich „Kennsatz“) und
  • einem Textausschnitt (im Bereich „Ausriss“),

die das jeweilige Objekt möglichst treffend widerspiegeln. Auf diese Weise soll der Redakteur eine klare Vorstellung vom Inhalt des Objekts erhalten, um so beispielsweise im Fall von Suchen den relevantesten Treffer besser ausmachen zu können und schneller zum gesuchten Objekt zu gelangen.

Schnipsel referenzierte Objekte

Schema referenzierte Objekte (zum Vergrößern anklicken)

Dabei können Inhalte von

  1. Eingabekomponenten der betreffenden Vorlage (Register „Formular“) oder
  2. in den Eingabekomponenten der Vorlage referenzierten Objekten (z. B. über FS_REFERENCE referenzierte Seiten, Seitenreferenzen, Medien oder über FS_DATASET referenzierte Datensätze)

genutzt werden.

Das nebenstehende Schema zeigt zu 2. das Formular eines Elements (hier: Absatz; Seite 1 / Absatz 1), in dem per FS_REFERENCE (Bezeichner st_link) eine Seitenreferenz (Seite 2) ausgewählt ist. Für die Schnipsel-Definition der Absatzvorlage, die Absatz 1 der Seite 1 zugrundeliegt, können Inhalte der gewählten Seitenreferenz (Seite 2) verwendet werden. Dies betrifft insbesondere Verweisvorlagen, in denen FS_REFERENCE häufig zur Auswahl von Seitenreferenzen verwendet wird (siehe dazu auch Abschnitt Schnipsel in Verweisvorlagen). Siehe auch Tabelle unten, Beispiele zu FS_REFERENCE, Objekttyp „Seitenreferenz“.

Sollen Schnipsel verwendet werden, sollte im Vorfeld überlegt werden, mit welchen Inhalten der verfügbaren Eingabekomponenten der betreffenden Vorlage sich das jeweilige FirstSpirit-Objekt (z. B. Absatz, Seite, Datensatz) am besten charakterisieren und sich von anderen Objekten bzw. Objekt-Typen unterscheiden lässt. Wichtig ist, dass der Benutzer das Objekt, das durch den Schnipsel dargestellt wird, schnell erfassen kann. Es sollte auch berücksichtigt werden, dass bei dieser Form der Darstellung strukturelle Informationen (z. B. Um welchen Objekt-Typ handelt es sich? Wo in der Hierarchie ist das Objekt angesiedelt?) in den Hintergrund treten.

Die Definitionen auf dem Register „Schnipsel“ werden aktuell z. B. verwendet

  • im SiteArchitect:
    • für die Ausgabe von Suchergebnissen der globalen Suche
    • für die Darstellung von Datensätzen in der Detailansicht (Datenquellen-Verwaltung)
    • für die Darstellung von Einträgen in FS_CATALOG und FS_INDEX mit DatasetDataAccessPlugin
  • im ContentCreator:
    • für die Ausgabe von Suchergebnissen der globalen Suche
    • bei der Auswahl von Vorlagen (Anlegen von neuen Seiten, Absätzen und Datensätzen, Auswahl von internen Referenzen)
    • für die Anzeige in Such-Dialogen
    • für die Anzeige von „Verwendungen“ in Dialogen
    • für die Darstellung von Lesezeichen, Aufgaben, Verwandten Elementen, Meinen Änderungen im Report-Bereich
    • für die Darstellung von Einträgen in FS_CATALOG und FS_INDEX mit DatasetDataAccessPlugin
    • für Tooltips in CMS_INPUT_DOM und CMS_INPUT_DOMTABLE (siehe dazu Abschnitt "Schnipsel in Verweisvorlagen")

Folgende Abbildung zeigt ein Suchergebnis der globalen Suche im SiteArchitect und im ContentCreator:

Allgemeines zur Syntax

 

In die Felder auf dem Register „Schnipsel“ können beliebig viele Zeichen eingegeben werden. Sind mehr Zeichen vorhanden, als das Textfeld darstellen kann, erhält das Textfeld Scrollbalken.

Wichtig Im Praxisfall sollte auf Ergebnisse der Logik für Kennsatz und Ausriss einer Schnipseldefinition ein XML-konformes Escaping angewendet werden, welches XML-spezifische Sonderzeichen in passende Entities umwandelt.

Innerhalb der Schnipseldefinition kann auf einem String-Objekt die Methode xmlEscape() angewendet werden, welches als Rückgabewert eine XML-konforme Version des verwendeten String-Objekts liefert. Siehe Datentyp String.

Fallback-Ausgabe
Wird keine Definition in den Feldern auf dem Register „Schnipsel“ angegeben, wird an den jeweiligen Stellen standardmäßig in der Regel der Name des Objekts und der Pfad zum Objekt dargestellt, im Falle von Verweisen wird kein Tooltip im ContentCreator (siehe Abschnitt Schnipsel in Verweisvorlagen) angezeigt. Dasselbe gilt, wenn die Eingabekomponenten, auf die die Schnipsel-Definition zugreift, vom Redakteur nicht gefüllt sind.

Ausgabemethoden
Die Ausgabe erfolgt über die Angabe eines Variablennamens einer in der Vorlage definierten Eingabekomponente. Um das zurückgelieferte Objekt manipulieren zu können, können Methoden eingesetzt werden, die mit $CMS_VALUE(...)$ verwendet werden können. Die verwendbaren Methoden sind dabei abhängig vom zurückgelieferten Objekttyp. So werden die einzelnen Einträge von Listen beispielsweise zumeist über die Methode map(String) ausgegeben (siehe dazu beispielsweise Datentyp List).

Leer- und Typ-Prüfungen
Leer-Prüfungen sollten immer verwendet werden, um darauf zu reagieren zu können, wenn eine Eingabekomponente vom Redakteur nicht gefüllt wird (an anderen Stellen kann es sonst auch zu Generierungsfehlern kommen)
Beispiel:

if(!cs_name.isEmpty, cs_name, "N/A")

In diesem Beispiel würde N/A ausgegeben, wenn die Eingabekomponente mit dem Variablenbezeichner cs_name nicht gefüllt ist, ansonsten wird der Wert von cs_name ausgegeben.

Speziell bei Verwendung von Eingabekomponenten, die eine Auswahl unterschiedlicher FirstSpirit-Objekttypen zulassen (z. B. FS_REFERENCE, FS_LIST), sowie bei Zugriff in Schnipseln auf Felder von referenzierten Objekten (siehe Schema referenzierte Objekte) kann darüber hinaus durch Typ-Prüfung auf Eingaben des Redakteurs flexibel reagiert werden z. B.

if(
st_ref.get.elementType == "Page",
st_ref.get.displayName(#global.language),

st_ref.get.elementType == "PageRef",
bold(st_ref.get.displayName(#global.language)) +
italic(truncate(st_ref.pageRef.page.formData.pt_text.toText(false),100)),

!st_ref.media.file(#global.language).isNull,
st_ref.get.displayName(#global.language) + " (" +
st_ref.media.file(#global.language).extension.toUpperCase + ", " +
st_ref.media.file(#global.language).size.humanReadable("kB",",000 kB") + ")",

!st_ref.media.picture(#global.language).isNull,
st_ref.get.displayName(#global.language) + " [Picture]",

"---")

In diesem Beispiel wird für eine FS_REFERENCE-Eingabekomponente (Bezeichner st_ref) geprüft, ob es sich bei der Wahl des Redakteurs um eine Seite (Inhalte-Verwaltung), Seitenreferenz (Struktur-Verwaltung), Datei oder um ein Bild (jeweils Medien-Verwaltung) handelt. Je nach Ergebnis der Prüfung wird in diesem Beispiel für

  • eine Seite der Anzeigename,
  • eine Seitenreferenz der Anzeigename und Text aus einem DOM-Editor mit dem Bezeichner pt_text der zugehörigen Seite aus der Inhalte-Verwaltung,
  • eine Datei der Anzeigename sowie Dateityp und -größe
  • ein Bild der Anzeigename und der Zusatz [Picture]

ausgegeben. Ist keiner dieser Objekttypen gewählt, wird --- ausgegeben.

Beispielhafte Ausgaben:

Startseite

Mithras-Homepage Sonnenenergie ist die Zukunft, der wir uns verschrieben haben. Mit unseren Lösungen und Produkten …

Briefvorlage (DOC, 522 kB)

Unternehmenszentrale [Picture]

  • Zur if(...)-Funktion siehe auch diese Seite.
  • Zu #global.language siehe auch diese Seite. Alternativ kann statt #global.language auch die verkürzte Schreibweise #language verwendet werden.

Eigene Eingabekomponenten für Schnipsel-Informationen
Es wäre generell denkbar, dass für die Schnipsel nicht nur Eingabekomponenten genutzt werden, deren Inhalte später über die Vorlagensätze ausgegeben werden, sondern in den Formularen spezielle Eingabekomponenten definiert werden, in denen die Redakteure Schlagworte, Beschreibungstexte usw. hinterlegen können, die nur für die Ausgabe innerhalb des Projekts (also als „Schnipsel“) verwendet werden, nicht aber für die Ausgabe beispielsweise auf der Webseite.

Vorschau von Schnipseln

Eine Vorschau der Schnipselausgabe erhält man in der Integrierten Vorschau über das Register „Schnipsel“. Dazu muss auf dem Register „Eigenschaften“ eine Vorschau-Seite ausgewählt sein.

Verfügbar ab FirstSpirit-Version 5.2 Mit FirstSpirit-Version 5.2 steht die Vorschau-Funktion, mit deren Hilfe die Definition von Schnipseln bereits während der Entwicklung von Vorlagen im SiteArchitect getestet werden kann, auch für Verweisvorlagen zur Verfügung. Die entsprechenden Daten werden über den Dialog, der sich über die Schaltfläche „Vorschaudaten“ öffnet, eingegeben. In Verbindung mit einer geeigneten Definition auf dem Register „Schnipsel“ im Arbeitsbereich wird die Vorschau dann im AppCenter-Bereich der Verweisvorlage, Register „Schnipsel“, dargestellt. Siehe dazu Abschnitt Schnipsel in Verweisvorlagen.

Bilder (Feld "Miniaturansicht")

Über dieses Feld kann die Bild-Eingabekomponente, deren Bild für den Teaser verwendet werden soll, definiert werden.

Im Falle von Suchtreffern erscheint dieses Bild beispielsweise am rechten Rand des Suchtreffers (siehe Abbildungen oben).

Folgende Eingabekomponenten stehen u.a. für die Referenzierung von Bildern zur Verfügung:

Ist in der Vorlage keine Eingabekomponente zur Bildauswahl vorhanden oder soll kein Bild in der Suchergebnisanzeige dargestellt werden, kann das Feld leer gelassen werden.

Beispiele

st_picture

Es wird das Bild aus der Eingabekomponente st_picture für die Suchergebnisanzeige verwendet.

if(!st_picture.isEmpty, st_picture, st_imagemap)

Ist die Eingabekomponente mit dem Bezeichner st_picture gefüllt, wird das Bild aus dieser Eingabekomponente für das Suchergebnis verwendet, ansonsten das Bild der Eingabekomponente st_imagemap.

Alternativ kann ein Bild statisch aus der Medien-Verwaltung angegeben werden, und zwar über

medium("REFERENZNAME")

oder kurz

"REFERENZNAME"

wobei der Platzhalter REFERENZNAME der Referenzname des anzuzeigenden Bildes sein muss.

Bilder aus Remote-Projekten

Bilder aus Remote-Projekten können über

medium("REFERENZNAME", "REMOTEPROJEKTNAME") 

ausgegeben werden, wobei der Platzhalter REMOTEPROJEKTNAME der symbolische Name des gewünschten Remote-Projekts sein muss.

Bilder aus Datensätzen

Darüber hinaus können auch Bilder aus Datensätzen verwendet werden, die z. B. über FS_DATASET eingebunden werden.

Wichtig Die Verwendung von Objekten vom Datentyp Entity innerhalb von Schnipseln wird nicht unterstützt! Stattdessen sollte die Methode .getFormData() verwendet werden.

Beispiel:

if(!pt_product.isEmpty, pt_product.dataset.formData.cs_picture)

wobei pt_product der Bezeichner der Eingabekomponente FS_DATASET ist, über die ein Datensatz mit Bild ausgewählt wird, und cs_picture der Bezeichner der Eingabekomponente in der Tabellenvorlage, in der das Bild gespeichert wird.

Siehe dazu auch Datentyp FormData.

Titel und Textausschnitt (Felder "Kennsatz" und "Ausriss")

Über das Feld

  • Kennsatz
    kann die Eingabekomponente angegeben werden, die für den Titel des Teasers verwendet werden soll.

    Bleibt das Feld „Kennsatz“ leer, wird standardmäßig der Name der Datenquelle bzw. Tabellenvorlage und die ID des Datensatzes angezeigt, getrennt durch ein #-Zeichen, z. B.:
    Pressemitteilungen: #128“
  • Ausriss
    kann die Eingabekomponente angegeben werden, die für den Textausschnitt des Teasers verwendet werden soll.

    Bleibt das Feld „Ausriss“ leer, wird unterhalb des Titels kein weiterer Text angezeigt.

Beispiel für die Ausgabe von Inhalten einer Eingabekomponente vom Typ CMS_INPUT_DOM:

BEZEICHNER.toText(false)

Dabei ist BEZEICHNER der Variablenname einer Eingabekomponente vom Typ CMS_INPUT_DOM.

Beispiele für die Ausgabe

Folgende Tabelle listet beispielhaft Ausgabemöglichkeiten für einige Eingabekomponenten auf:

Eingabekomponente

Ausgabe über

Anmerkung

FS_CATALOG

BEZEICHNER.map(x
->x.getItem().BEZEICHNER2)

BEZEICHNER2 ist ein Variablenname einer in der FS_CATALOG Eingabekomponente verwendeten Vorlage

FS_CATALOG
(Zugriff über Schnipsel)

BEZEICHNER.snippets.map(x
->x.header).toString(" / ")

Ausgabe eines Schnipsel Feldes durch die Angabe von
thumbnail (Wert des Felds "Miniaturansicht")
header (Wert des Felds "Kennsatz")
extract (Wert des Feld "Ausriss")

CMS_INPUT_CHECKBOX /
CMS_INPUT_LIST
(Mehrfachauswahl)

BEZEICHNER

gibt eine Liste der über die Eingabekomponente gewählten Werte aus (Parameter value)

BEZEICHNER.map(x->x.label(#language)).toString(", ")

gibt die Label (Oberflächenbeschriftung) der über die Eingabekomponente gewählten Werte kommasepariert aus (Parameter label)

CMS_INPUT_COMBOBOX / CMS_INPUT_RADIOBUTTON
(Einfachauswahl)

BEZEICHNER

gibt den über die Eingabekomponente gewählten Wert aus (Parameter value)

BEZEICHNER.label(#language)

gibt das Label (Oberflächenbeschriftung) des über die Eingabekomponente gewählten Wertes aus (Parameter label)

FS_DATASET

BEZEICHNER.dataset.formData.BEZEICHNER2

BEZEICHNER2 ist ein Variablenname eines über FS_DATASET ausgewählten Datensatzes

CMS_INPUT_DOM

BEZEICHNER.toText(false)

gibt den im DOM-Editor gespeicherten Text aus

FS_INDEX

BEZEICHNER.values.map(x
->x.formData.BEZEICHNER2).toString(",")

BEZEICHNER2 ist ein Variablenname der über das DatasetDataAccessPlugin verknüpften Tabellenvorlage

FS_INDEX in FS_CATALOG

BEZEICHNER.map(x.getItem().BEZEICHNER2.values.map(y
->y.formData.BEZEICHNER3).toString(",")


BEZEICHNER2 ist der name der FS_INDEX Eingabekomponente, BEZEICHNER3 der Name einer Eingabekomponente der darin enthaltenen Tabellenvorlage

CMS_INPUT_LINK

BEZEICHNER.text

gibt den Verweistext des über CMS_INPUT_LINK erstellten Verweises aus

   

FS_LIST
(Typ INLINE)

BEZEICHNER.map(x
->x.BEZEICHNER2).toString(", ")

BEZEICHNER2 ist ein Variablenname einer über FS_LIST ausgewählten Absatz- oder Verweisvorlage, die Einträge der Eingabekomponente werden kommasepariert ausgegeben

FS_LIST
(Typ DATABASE)

BEZEICHNER.map(x
->x.BEZEICHNER2).toString(", ")

BEZEICHNER2 ist ein Variablenname einer über FS_LIST referenzierten Tabellenvorlage, die Einträge der Eingabekomponente werden kommasepariert ausgegeben

CMS_INCLUDE_OPTIONS
in Verbindung mit

  • CMS_INPUT_CHECKBOX
  • CMS_INPUT_COMBOBOX
  • CMS_INPUT_LIST
  • CMS_INPUT_RADIOBUTTON

In Verbindung mit CMS_INCLUDE_OPTIONS gelten prinzipiell die oben angegebenen Beispiele für die genannten Eingabekomponenten.

Für eine Checkbox mit CMS_INCLUDE_OPTIONS, z. B.:
BEZ.map(x->x.value.value("BEZ2")).toString(", ")

Im Falle einer Verwendung des Typs Database siehe auch Abschnitt Verwendung von Beschriftungen aus (Fremd-)Tabellen ("label").

 

FS_REFERENCE
(Objekttyp "Bild" oder "Datei")

BEZEICHNER.Media.Filename

gibt den Referenznamen des über FS_REFERENCE referenzierten Bildes / Datei aus

FS_REFERENCE
(Objekttyp "Seitenreferenz")

BEZEICHNER.pageRef.uid

gibt den Referenznamen der über FS_REFERENCE referenzierten Seitenreferenz aus

BEZEICHNER.pageRef.page.formData.BEZEICHNER2

gibt den Inhalt der Eingabekomponente mit dem Bezeichner BEZEICHNER2 aus, die in der Seite (Inhalte-Verwaltung) zu der über FS_REFERENCE gewählten Seitenreferenz enthalten ist

   
Wichtig Die Verwendung von Objekten vom Datentyp Entity innerhalb von Schnipseln wird nicht unterstützt.

Die Inhalte mehrerer Eingabekomponenten können über ein Plus-Zeichen (+) verknüpft werden.

Darüber hinaus kann statischer Text innerhalb von Anführungszeichen (" ") angegeben werden. Bei der Kombination mehrerer Ausgaben durch ein Plus-Zeichen sollte ein Trennzeichen vorgesehen werden (z. B. Leerzeichen: " "). Beispiele siehe weiter unten.

Formatierung

Wird nichts anderes angegeben, wird standardmäßig der gesamte Inhalt der in den Feldern „Kennsatz“ und „Ausriss“ angegebenen Eingabekomponenten ausgegeben. Daher empfiehlt es sich, wenn möglich, im Falle von Text-Eingabekomponenten bereits die Zeichenanzahl zu beschränken (z. B. durch maxInputLength oder maxCharacters).

Alternativ kann der Parameter truncate verwendet werden. Über diesen kann angegeben werden, wie viele Zeichen angezeigt werden sollen. Umfasst der in der Eingabekomponente gespeicherte Text mehr Zeichen als über truncate angegeben, werden drei Punkte (...) an die Ausgabe angehängt.

truncate(BEZEICHNER, 25)

Diese Angabe kürzt die Ausgabe des Textes der Eingabekomponente mit dem Bezeichner BEZEICHNER auf 25 Zeichen.

Mithilfe der Parameter bold(BEZEICHNER) und italic(BEZEICHNER) werden Texte fett bzw. kursiv ausgegeben. Im Feld „Kennsatz“ hat der Parameter bold keine Auswirkung, da die als Titel ausgegebenen Texte in der Regel prinzipiell fett dargestellt werden.

Beispiel

italic(truncate(if(!pt_headline.isEmpty, pt_headline), 30) +
if(!pt_headline.isEmpty && !pt_subheadline.isEmpty, " / ") +
truncate(if(!pt_subheadline.isEmpty, pt_subheadline), 15))

In diesem Fall wird der Inhalt der Eingabekomponenten pt_headline sowie pt_subheadline in kursiver Schrift ausgegeben (, wenn sie nicht leer sind), getrennt durch einen Schrägstrich mit Leerzeichen:

Willkommen bei Mithras Energy / Wo die Sonne z...

Neben diesen allgemeingültigen Attributen können abhängig vom jeweiligen Objekttyp Methoden ausgeführt werden, mit denen die Ausgabe zusätzlich formatiert werden kann. Folgende Tabelle listet beispielhaft Formatierungsmöglichkeiten für einige Eingabekomponenten auf:

Formatierung

Parameter / Methode

Eingabekomponente

fett

bold(BEZEICHNER)

 

kursiv

italic(BEZEICHNER)

 

Kürzen

truncate(BEZEICHNER, ZAHL)

 

Groß-/Kleinbuchstaben

toUpperCase / upperCase
toLowerCase / lowerCase

CMS_INPUT_TEXT
CMS_INPUT_TEXTAREA

Zahlen-/Datumsformat

format

CMS_INPUT_DATE
CMS_INPUT_NUMBER

   

Anzeige der Datensatz-ID

Im Falle von Datensätzen kann auch die Datensatz-ID für die Schnipsel-Darstellung genutzt werden und zwar über die Angabe von

#id

Die Schnipsel-Definition für Pressemitteilungen inklusive der jeweiligen Datensatz-ID kann in der betreffenden Tabellenvorlage beispielsweise folgendermaßen lauten:

Kennsatz:

"Pressemitteilung " + italic(#id)

Verwendung von Beschriftungen aus (Fremd-)Tabellen ("label")

Sind über CMS_INCLUDE_OPTIONS beispielsweise in CMS_INPUT_COMBOBOX Werte aus einer (Fremd-)Tabelle auswählbar, kann über label(#language) im Suchergebnis die Bezeichnung, die aus der (Fremd-)Tabelle stammt, angezeigt werden. (Zu #language / #global.language siehe diese Seite.)

Beispiel Formular A

<CMS_INPUT_TEXT name="cs_branch" singleLine="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="City"/>
<LANGINFO lang="DE" label="Stadt"/>
</LANGINFOS>
</CMS_INPUT_TEXT>

<CMS_INPUT_COMBOBOX name="cs_country_choice" singleLine="no" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.Name</LABEL>
</LABELS>
<TABLE>country</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Country"/>
<LANGINFO lang="DE" label="Land"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

wobei country eine Fremdtabelle (siehe unten) ist. Über cs_branch werden Städtenamen gespeichert, über die Combobox cs_country_choice wird ein Land aus der Fremdtabelle ausgewählt.

Beispiel Formular B (Tabelle country)

<CMS_INPUT_TEXT name="cs_country" singleLine="no" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Country"/>
<LANGINFO lang="DE" label="Land"/>
</LANGINFOS>
</CMS_INPUT_TEXT>

Unter cs_country (Spalte Name) werden Ländernamen gespeichert.

Beispiel Schnipsel

if(!cs_country_choice.isEmpty, cs_country_choice.label(#language))

Mit diesem Ausdruck wird bei der Suche nach einem Wert, der in Formular A über die Combobox mit dem Bezeichner cs_country_choice ausgewählt wurde, als Ergebnis der Text, der in Formular B in der Spalte Name für den gewählten Eintrag gespeichert ist, angezeigt.

Wurde also beispielsweise in Formular A für cs_branch der Wert „Dortmund“ und über cs_country_choice der Wert „Deutschland“ ausgewählt, kann bei einer Suche nach „Dortmund“ als Textausschnitt statt dem Namen der Datenquelle B der Wert „Deutschland“ angezeigt werden.

Sprachangabe

Verfügbar ab FirstSpirit-Version 5.1.107 Um eine bestimmte Sprache anzugeben, die für die Anzeige der Schnipsel verwendet werden soll, kann folgende Syntax verwendet werden:

#form.BEZEICHNER.SPRACHKÜRZEL

Dabei ist der Platzhalter BEZEICHNER der Variablenname der gewünschten Eingabekomponente der jeweiligen Vorlage, deren Inhalt für die Schnipselausgabe verwendet werden soll.

SPRACHKÜRZEL ist die Abkürzung der gewünschten Sprache, die im ServerManager in den Server-Eigenschaften unter „Sprach-Vorlagen“, Feld „Abkürzung“, definiert wurde. Darüber hinaus kann #master für die Projekt-Mastersprache verwendet werden (diese wird ausgewählt in den Projekt-Eigenschaften im ServerManager, Bereich „Sprachen“).

Beispiele

truncate(if(!pt_headline.isEmpty, #form.pt_headline.DE), 30)

In diesem Beispiel wird der Text der Eingabekomponente mit dem Bezeichner pt_headline in der Sprache DE auf die ersten 30 Zeichen gekürzt ausgegeben.

truncate(if(!pt_headline.isEmpty, #form.pt_headline.#master), 30)

In diesem Beispiel wird der Text der Eingabekomponente mit dem Bezeichner pt_headline in der Mastersprache des Projekts auf die ersten 30 Zeichen gekürzt ausgegeben.

Ausgabe von Metadaten

Verfügbar ab FirstSpirit-Version 5.2R18 Metadaten, die direkt auf einem Element definiert wurden, können mittels

#meta.BEZEICHNER

ausgegeben werden.
Hierbei muss als BEZEICHNER der Name der gewünschten Eingabekomponenten aus den Metadaten verwendet werden, wobei die obigen Beispiele für die Ausgabe der einzelnen Eingabekomponententypen auch hier zutreffend sind.

Siehe dazu auch Systemobjekt #meta.

Schnipsel in Verweisvorlagen

Schnipsel Verweisvorlage - Ausgabe im ContentCreator

Für die Darstellung von Tooltips im ContentCreator zu Verweisen können Schnipsel in Verweisvorlagen definiert werden. Diese Tooltips werden in CMS_INPUT_DOM- sowie CMS_INPUT_DOMTABLE-Formularen und im InEdit-Modus (siehe Abbildung) angezeigt.

Für interne Verweise auf eine über FS_REFERENCE referenzierten Seite (in den folgenden Beispielen gespeichert in lt_reference) bietet es sich z. B. an, ein Bild, eine Überschrift und eine Textpassage der Seitenreferenz für die Tooltip-Anzeige zu verwenden.

Neben FS_REFERENCE können in Verweisen aber selbstverständlich auch andere Eingabekomponenten-Typen verwendet werden. Zu deren Verwendung in Schnipseln siehe Tabelle oben sowie Datentyp FormData.

Beispiel

 

Feld „Miniaturansicht“
Anzeige eines Bildes, das in der Eingabekomponente mit dem Bezeichner pt_highlightPicture der über lt_reference referenzierten Seite gespeichert ist:

if ( 
!lt_reference.isEmpty && !lt_reference.pageRef.isEmpty && !lt_reference.pageRef.page.formData.pt_highlightPicture.isEmpty,
lt_reference.pageRef.page.formData.pt_highlightPicture
)

Dabei wird lt_reference zur Pflege und Speicherung des Verweisziels (Seitenreferenz im selben Projekt, Auswahl über FS_REFERENCE) verwendet. Bei pt_highlightPicture handelt es sich um die Variable, in der ein Bild gespeichert wird, das sich in der Seite befindet, die zu der in lt_reference gewählten Seitenreferenz gehört (siehe dazu auch Schema referenzierte Objekte).

Feld „Kennsatz“
Anzeige von Text, der in den Eingabekomponenten mit den Bezeichnern pt_headline und/oder pt_subheadline der referenzierten Seite gespeichert ist, getrennt durch einen Schrägstrich:

if (
!lt_reference.isEmpty && !lt_reference.pageRef.isEmpty,
if (
!lt_reference.pageRef.page.formData.pt_headline.isEmpty,
lt_reference.pageRef.page.formData.pt_headline
) +
if (
!lt_reference.pageRef.page.formData.pt_headline.isEmpty && !lt_reference.pageRef.page.formData.pt_subheadline.isEmpty,
" / "
) +
if (
!lt_reference.pageRef.page.formData.pt_subheadline.isEmpty,
lt_reference.pageRef.page.formData.pt_subheadline
)
)

Denkbar wäre auch, für den Kennsatz den Anzeigenamen der referenzierten Seitenreferenz zu verwenden, z. B.

lt_reference.get.displayName(#language)

In diesem Beispiel wird der Anzeigename der in der Eingabekomponente mit dem Bezeichner lt_reference gespeicherten Seitenreferenz im Tooltip angezeigt.

Feld „Ausriss“
Anzeige des Textes (auf 65 Zeichen gekürzt), der in der Eingabekomponente mit dem Bezeichner pt_intro der referenzierten Seite gespeichert ist:

if (
!lt_reference.isEmpty && !lt_reference.pageRef.isEmpty && !lt_reference.pageRef.page.formData.pt_intro.isEmpty,
truncate(lt_reference.pageRef.page.formData.pt_intro, 65)
)

Dabei wird lt_reference wiederum zur Pflege und Speicherung des Verweisziels (Seitenreferenz im selben Projekt, Auswahl über FS_REFERENCE) verwendet. Bei pt_intro handelt es sich um die Variable, in der Fließtext in der Seite gespeichert wird, die zu der in lt_reference gewählten Seitenreferenz gehört.

Da der Redakteur meist an Informationen des Verweises auf der Vorschauseite (Verweistext, Verweisbild, Tooltip) nicht erkennen kann, ob es sich z. B. um einen internen oder externen Verweis handelt, könnte ihm diese Information per Tooltip ebenfalls geeignet eingeblendet werden.

Im SiteArchitect werden Schnipsel-Definitionen in Verweisvorlagen darüber hinaus für die Anzeige in FS_CATALOG mit Verweisen (<TEMPLATES type="link">) verwendet.

Zugriff per API

Auf Schnipsel-Definitionen kann per FirstSpirit Access-API über folgende Interfaces zugegriffen werden:

© 2005 - 2019 e-Spirit AG | Alle Rechte vorbehalten. | FirstSpirit 2019-11 | Datenschutz | Impressum | Kontakt