Startseite / Vorlagenentwicklung / Schnipsel / Kennsatz / Ausriss

Felder "Kennsatz" und "Ausriss"

Inhaltsverzeichnis

Über das Feld Kennsatz kann die Eingabekomponente angegeben werden, die für den Titel des Teasers verwendet werden soll.

Über das Feld Ausriss kann die Eingabekomponente angegeben werden, die für den Textausschnitt des Teasers verwendet werden soll.

Bleiben diese Felder leer, werden standardmäßig der Name des Objekts und der Pfad angezeigt, im Falle von Datensätzen der Name der Datenquelle und die ID des Datensatzes, getrennt durch ein #-Zeichen, z. B.„Pressemitteilungen: #128“

Schnipseldefinition

Die Schnipseldefinition erfolgt allgemein ü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).

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.

Kombination

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

Statischer Text

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.

Beispiele nach Komponente

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

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.

Kürzung und 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, siehe beispielsweise für CMS_INPUT_TEXT).

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 (sofern sie nicht leer sind), getrennt durch einen Schrägstrich mit Leerzeichen:

FirstSpirit Hybrid CMS / Content Management mit dem Hybrid CMS von Crownpeak

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.

Ausgabe von UID, Anzeigename oder GID über #item

Das Objekt #item steht auf dem Register „Schnipsel“ in den Feldern „Kennsatz“ und „Ausriss“ zur Verfügung und gibt das jeweilige Baumelement zurück. Auf diesem können wiederum die objektspezifische Methoden aus dem Interface IDProvider (FirstSpirit Access-API, Package de.espirit.firstspirit.access.store) angewendet werden.

Hinweis: Das Objekt #item steht nicht im Datentyp Card zur Verfügung.

Wichtig In Ausnahmefällen, beispielsweise beim Anlegen von Objekten, steht #item nicht zur Verfügung, und es wird eine Warning vom Typ java.lang.UnsupportedOperationException bzw. java.lang.RuntimeException geloggt (Expression failed). Dies sollte bei der Vorlagenentwicklung berücksichtigt werden.

UID oder Anzeigename ausgeben

#item.getDisplayName(#language) 

Gibt den Anzeigename des betreffenden Objekts in der jeweiligen Sprache aus.

#item.Uid

Gibt die UID des betreffenden Objekts aus.

#item.getDisplayName(#language)
"[UID:" + " " +italic(#item.getUid) + "]"

GID ausgeben (Datensätze)

Enthält das Baumelement weitere FirstSpirit-Objekte in Form von Datensätzen (z. B. FS_INDEX mit einem DatasetDataAccessPlugin), kann über #item auf die GID (Global ID) der Datensätze zugegriffen werden.

Die GID eines Datensatzes lässt sich über

#item.getEntity().getGid() 

ausgeben.

Ausgabe des aktuellen Datums über #now

Das Objekt #now liefert das aktuelle Datum zum Abfragezeitpunkt zurück.

"valid " + if(cs_newsdate > #now,"from ","since ") + cs_newsdate.format("MM/dd/yy") 

Vergleicht das aktuelle Datum mit dem Datum aus einer Eingabekomponente CMS_INPUT_DATE.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.5 | Datenschutz