Startseite / Vorlagenentwicklung / Formulare / Datenelemente / OPTIONS / DATABASE

Typ DATABASEVerfügbar ab FirstSpirit-Version 4.2

Inhaltsverzeichnis
zum Beispiel

Mit dem Typ DATABASE ist es möglich, in einer mengenwertigen Eingabekomponente (z. B. CMS_INPUT_COMBOBOX) Datensätze aus einer Fremdtabelle automatisch einzufügen.

Handelt es sich um eine Datenquelle mit vielen Datensätzen (>100), wird aufgrund von Performanz-Vorteilen die Verwendung von FS_INDEX (mit DataAccessPlugin-Implementierung) empfohlen.
Verfügbar ab FirstSpirit-Version 5.2R4 Mit FirstSpirit-Version 5.2R4 wird die Anzeige auf 100 Einträge beschränkt und es wird folgender Hinweis im Formular angezeigt: „Die verfügbaren Einträge wurden wegen Browser-Einschränkungen begrenzt. Diese Eingabekomponente ist für Datenmengen dieser Größe nicht geeignet.“ In der Anzeige werden Regeln darüber hinaus nur auf die darstellbaren Einträge angewendet.

type
IncludeType
Pflichtparameter
lang
String
Pflichtparameter
name
String
Pflichtparameter
name
String
Pflichtparameter
<CMS_INCLUDE_OPTIONS>
<KEY>
TEXT
</KEY>
<TABLE>*
TEXT
</TABLE>
</CMS_INCLUDE_OPTIONS>

Parameter

Bei dem Tag CMS_INCLUDE_OPTIONS handelt es sich um einen Container, mit dem Konfigurationen festgelegt werden können, um Einträge in eine Eingabekomponente automatisch einzufügen.

ParameterPflichtparameterSeitTypStandardwert
type*Ja4.2IncludeTypeKeiner

type

Mit dem Pflichtparameter type wird der Typ der Werte- bzw. Inhaltsinkludierung angegeben.

Folgende Typen werden unterstützt:

  • LANGUAGE: gibt die Projektsprachen aus
  • TEMPLATESET: gibt die Vorlagensätze des Projekts aus
  • DATABASE: gibt den Inhalt von Datenquellen aus
  • PUBLIC: gibt den Inhalt, der über eine öffentliche Schnittstelle zur Verfügung gestellt wird, aus

  • Optionale Parameter
    Optional können weitere optionale und Pflicht-Parameter bzw. -Tags verwendet werden (siehe unten).

Typ LANGUAGE

Mit dem Typ LANGUAGE ist es möglich, in einer mengenwertigen Eingabekomponente (z. B. CMS_INPUT_COMBOBOX) die im Projekt definierten Sprachen automatisch einzufügen.

  • Pflichtparameter
    Das Tag LANGUAGE benötigt keine weiteren Parameter.
  • Optionale Parameter
    Optional zum Tag LANGUAGE können die Tags LABELS / LABEL verwendet werden (siehe unten).

Typ TEMPLATESET

Mit dem Typ TEMPLATESET ist es möglich, in einer mengenwertigen Eingabekomponente (z. B. CMS_INPUT_COMBOBOX) die im Projekt definierten Vorlagensätze automatisch einzufügen.

  • Pflichtparameter
    Das Tag TEMPLATESET benötigt keine weiteren Parameter.
  • Optionale Parameter
    Optional zum Tag TEMPLATESET können die Tags LABELS / LABEL verwendet werden (siehe unten).

Typ DATABASE

Mit dem Typ DATABASE ist es möglich, in einer mengenwertigen Eingabekomponente (z. B. CMS_INPUT_COMBOBOX) Datensätze aus einer Fremdtabelle automatisch einzufügen.

  • Pflichtparameter
    Die Datenquelle, aus der die Daten geholt werden sollen, muss mit dem Tag TABLE angegeben werden (siehe unten).
  • Optionale Parameter
    Optional zum Tag DATABASE können die Tags KEY und LABELS / LABEL verwendet werden (siehe unten).

Typ PUBLIC

FirstSpirit bietet die Möglichkeit, eigene Module zu entwickeln und zu implementieren. Über den Typ PUBLIC können Schnittstellen ("HotSpots") vom Typ "Public" angesprochen werden (weitere Informationen zu diesem Komponenten-Typ sowie zur Modul-Entwicklung in FirstSpirit siehe Modularchitektur / Komponentenmodel).

  • Pflichtparameter
    Der Name der HotSpot-Klasse muss mit dem Tag NAME angegeben werden (siehe unten).
  • Optionale Parameter
    Optional zum Tag PUBLIC können die Tags PARAMS / PARAM sowie LABELS / LABEL verwendet werden (siehe unten).

ParameterPflichtparameterSeitTypStandardwert
type*Ja4.2IncludeTypeKeiner

LABELSVerfügbar ab FirstSpirit-Version 4.2

Zu jedem Typ kann über das Tag LABELS eine sprachabhängige Beschriftung der einzelnen Werte definiert werden.

Für jede Sprache muss dazu ein Tag LABEL angegeben werden.

ACHTUNG: Es muss mindestens eine Definition für die Rückfallbeschriftung ("*") erfolgen:

<LABELS>
<LABEL lang="*">...</LABEL>
</LABELS>

LABELVerfügbar ab FirstSpirit-Version 4.2

Mit dem Tag LABEL kann für jede Sprache eine flexible, sprachabhängige Beschriftung der einzelnen Optionen definiert werden.

Um die Beschriftung für eine Sprache festzulegen, ist im Parameter lang die Abkürzung der Projektsprache anzugeben:

...
<LABEL lang="DE">...</LABEL>
<LABEL lang="EN">...</LABEL>
...

Rückfallwerte werden mit dem speziellen Sprachkürzel * ("für alle Sprachen") angegeben:

...
<LABEL lang="*">...</LABEL>
...

Bei dem Parameter lang handelt es sich um einen Pflichtparameter.

Der Beschriftungstext wird innerhalb eines öffnenden und schließenden <LABEL>-Tag angegeben (siehe Platzhalter TEXT).

ParameterPflichtparameterSeitTypStandardwert
lang*Ja4.2StringKeiner

lang

Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe Sprach-Vorlagen (→Dokumentation für Administratoren)), angegeben, um festzulegen, für welche Projektsprachen die Definitionen gelten sollen, z. B. DE für Deutsch, EN für Englisch, FR für Französisch usw. Folgende Zeichen können dabei beliebig oft angegeben werden: -, _, 0-9 und A-Z. Kleinbuchstaben werden nach dem Speichern der Vorlage automatisch in Großbuchstaben umgewandelt. Alternativ kann * für Rückfallwerte verwendet werden.

ParameterPflichtparameterSeitTypStandardwert
lang*Ja4.2StringKeiner

TEXTVerfügbar ab FirstSpirit-Version 4.2

An dieser Stelle wird der Beschriftungstext der auszuwählenden Werte definiert.

Dazu steht das Systemobjekt #item zur Verfügung. Über dieses kann die Beschriftung dynamisch ausgegeben werden.

Beim Typ DATABASE repräsentiert #item dabei z. B. die anzuzeigende Datenbankzeile der über das Tag TABLE definierten Tabellenvorlage. Eine Spalte der Datenbankzeile kann durch einen Punkt getrennt für die Beschriftung verwendet werden, wie z. B. im Beispiel #item.Headline_EN.

Weiterhin werden über den Ausdrucksmechanismus sprachspezifische Endungen automatisch gesetzt, sollten sie vorhanden sein, d. h. folgende Definition ist möglich:

<CMS_INCLUDE_OPTIONS type="DATABASE">
<TABLE>Products.press_releases</TABLE>
<LABELS>
<LABEL lang="*">#item.Headline + ", " + #item.Subheadline</LABEL>
</LABELS>
</CMS_INCLUDE_OPTIONS>

Dabei wird abhängig von der zu generierenden Sprache zunächst für die einzelnen Attribute nach Attributen mit Spracherweiterung gesucht (z. B. #item.Headline_DE für die Sprache DE), und, falls diese nicht vorhanden ist, dann nach einem Attribut mit dem gegebenen Namen.

Wichtig Es ist darauf zu achten, dass der Spaltenname korrekt angegeben wird und die Spalten auch tatsächlich in der angegebenen Tabelle vorhanden ist, da sonst keine Werte zur Auswahl angezeigt werden. Bei Verwendung von KEY muss darüber hinaus darauf geachtet werden, dass die über LABEL und #item definierte dynamische Beschriftung zu der über KEY definierten Spalte passt. Ist dies nicht der Fall, erhält der Redakteur bei der Auswahl einer Option eine entsprechende Fehlermeldung.

KEYVerfügbar ab FirstSpirit-Version 4.2

Über das optionale Tag KEY kann die Spalte der Datenquelle angegeben werden, die für die Speicherung des ausgewählten Wertes herangezogen werden soll. Es erwartet als Wert den Spaltennamen, wie er im Datenbank-Schema-Editor angegeben wurde und beispielsweise auf dem Register "Mapping" der jeweiligen Tabellenvorlage in den sprachabhängigen Spalten (DE, EN etc.) angezeigt wird. Ist keine Beschriftung der Werte über die allgemeinen Tags LABELS / LABEL definiert, wird die Beschriftung der über KEY angegebenen Spalte angezeigt.

Wird das Tag weggelassen, so wird der Primärschlüssel verwendet (Standard).

Wichtig Dieser Parameter sollte nur dann verwendet werden, wenn der Benutzer selbst die Eindeutigkeit der Daten bei der Pflege der für KEY angegebenen Spalte gewährleisten kann!

TEXTVerfügbar ab FirstSpirit-Version 4.2

An dieser Stelle wird die Tabellenspalte angegeben, und zwar innerhalb eines öffnenden und schließenden KEY-Tags:

<KEY>TABELLENSPALTE</KEY>

QUERYVerfügbar ab FirstSpirit-Version 4.2.410

Mit dem Tag QUERY kann eine Abfrage angegeben werden, anhand derer die Menge der Datensätze, aus denen mithilfe der Eingabekomponente ausgewählt werden kann, eingeschränkt wird.

Enthält die Abfrage den Platzhalter %lang% innerhalb eines ORDERCRITERIA-Tags, wird das ORDERCRITERIA-Tag ignoriert und im Log wird eine entsprechende Meldung angezeigt.

ParameterPflichtparameterSeitTypStandardwert
name*Ja4.2.410StringKeiner

name

Über den Parameter name wird der Referenzname der Abfrage angegeben, z. B.

<QUERY name="query_products"/> 

ParameterPflichtparameterSeitTypStandardwert
name*Ja4.2.410StringKeiner

PARAM

Sind für die über QUERY definierte Abfrage Parameter vorhanden (Register "Parameter" der Abfrage), kann diesen Parametern mit dem Tag PARAM ein Wert übergeben werden.

ParameterPflichtparameterSeitTypStandardwert
name*Ja4.2.404StringKeiner

name

Mithilfe des Parameters name wird der Name des Abfrage-Parameters angegeben.

ParameterPflichtparameterSeitTypStandardwert
name*Ja4.2.404StringKeiner

TEXTVerfügbar ab FirstSpirit-Version 4.2

Der Wert des Abfrage-Parameters wird innerhalb eines öffnenden und schließenden PARAM-Tags angegeben, z. B.

<QUERY name="query_products">
<PARAM name="category">1088</PARAM>
</QUERY>

Dabei ist "category" ein für die Abfrage definierter Parameter, "1088" der Wert.

TABLEVerfügbar ab FirstSpirit-Version 4.2

Mit dem Tag TABLE wird die Referenz zur Tabellenvorlage angegeben.

Als Wert ist der eindeutige Bezeichner der Tabellenvorlage anzugeben.

Die Angabe der Referenz wird dafür benötigt, um festzulegen, aus welcher Tabelle ausgewählt werden kann und welche Eingabekomponenten dargestellt werden sollen.

TEXTVerfügbar ab FirstSpirit-Version 4.2

An dieser Stelle wird die Tabellenvorlage angegeben, und zwar innerhalb eines öffnenden und schließenden TABLE-Tags:

<TABLE>TABELLENVORLAGE</TABLE>

Legende

IncludeType

Typ der Werte- bzw. Inhaltsinkludierung

TEMPLATESETVerfügbar ab FirstSpirit-Version 4.2

Liste der im Projekt definierten Vorlagensätze

LANGUAGEVerfügbar ab FirstSpirit-Version 4.2

Liste der Projektsprachen

DATABASEVerfügbar ab FirstSpirit-Version 4.2

Datensätze aus einer Fremdtabelle

PUBLICVerfügbar ab FirstSpirit-Version 4.2

Daten über Schnittstellen ("HotSpots") vom Typ "Public"

String

Eine beliebige Zeichenkette

Beispiele

Ein Beispiel für die Verwendung von CMS_INCLUDE_OPTIONS, Typ DATABASE:

<CMS_INPUT_COMBOBOX name="BEZEICHNER" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="DATABASE">
<LABELS>
<LABEL lang="*">#item.SPALTE</LABEL>
<LABEL lang="DE">#item.SPALTE_DE</LABEL>
</LABELS>
<TABLE>EINDEUTIGER _NAME_TABELLENVORLAGE</TABLE>

</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="TEXT" description="TEXT"/>
<LANGINFO lang="DE" label="TEXT" description="TEXT"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

Dieses Beispiel gibt eine Combobox mit der Beschriftung TEXT aus, aus der die Datensätze der Datenquelle, die auf der über TABLE definierten Tabellenvorlage basiert, anhand der Spalte SPALTE sprachabhängig ausgewählt werden können.

Verwendungsbeispiele in der Vorlagensyntax

Das nachfolgende Beispiel stellt die Verwendung von CMS_INCLUDE_OPTIONS der Verwendung von CMS_INCLUDE_CONTENT gegenüber.

Eine Combobox, aus der die Pressemitteilungen einer Datenquelle (in diesem Beispiel: "Products.press_releases") anhand der Überschrift (in diesem Beispiel Spalte "Headline") sprachabhängig ausgewählt werden können, kann über CMS_INCLUDE_CONTENT folgendermaßen erzeugt werden:

<CMS_INPUT_COMBOBOX name="cs_pressReleases" useLanguages="no">
<CMS_INCLUDE_CONTENT table="Products.press_releases" type="entries">
<LABEL lang="*">#row.Headline</LABEL>
</CMS_INCLUDE_CONTENT>
<LANGINFOS>
<LANGINFO lang="DE" label="Pressemitteilung"/>
<LANGINFO lang="*" label="Press release"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

Die Syntax über CMS_INCLUDE_OPTIONS lautet entsprechend:

<CMS_INPUT_COMBOBOX name="cs_pressReleases" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="DATABASE">
<LABELS>
<LABEL lang="*">#item.Headline</LABEL>
</LABELS>
<TABLE>Products.press_releases</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="DE" label="Pressemitteilung"/>
<LANGINFO lang="*" label="Press release"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

Je nach Anforderung können über LABEL auch mehrere Spalten angegeben werden, z.B.:

<CMS_INPUT_COMBOBOX name="cs_pressReleases2" useLanguages="no">
<CMS_INCLUDE_OPTIONS type="DATABASE">
<LABELS>
<LABEL lang="*">#item.Date.format("dd.MM.yyyy") + ": " + #item.Headline</LABEL>
</LABELS>
<TABLE>Products.press_releases</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="DE" label="Pressemitteilung"/>
<LANGINFO lang="*" label="Press release"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>

Dieses Beispiel gibt eine Combobox mit der Beschriftung "Pressemitteilung" aus, aus der die Datensätze der Datenquelle, die auf der Tabellenvorlage "Products.press_releases" basiert, anhand der Überschrift (im Beispiel Spalte "Headline") und des Datums (im Beispiel Spalte "Date") sprachabhängig ausgewählt werden können. Datum und Überschrift werden durch einen Doppelpunkt voneinander getrennt, z.B.

08.07.2020: e-Spirit partnerships on the rise due to demand for rapid delivery ...
18.05.2020: e-Spirit partners with Commercetools to deliver immersive e-Commerce ...
21.04.2020: e-Spirit integriert mit SAP Spartacus
...

© 2005 - 2021 e-Spirit AG | Alle Rechte vorbehalten. | FirstSpirit 2021-06 | Datenschutz | Impressum | Kontakt