CMS_INCLUDE_CONTENT
In der Datenquellen-Verwaltung besteht die Möglichkeit Eingabekomponenten, die eine Menge von Werten anzeigen können, z. B. CMS_INPUT_CHECKBOX oder CMS_INPUT_COMBOBOX, mithilfe einer Fremdtabelle zu befüllen.
Hierfür gibt es das Tag CMS_INCLUDE_CONTENT.
Das Tag besitzt zwei Pflichtparameter type und table und einen optionalen Parameter key.
Mit dem Parameter type wird der Typ der einzufügenden Daten angegeben. Bei der Befüllung mit einer Fremdtabelle lautet der Wert ENTRIES.
Die Tabelle, aus der die Daten geholt werden sollen, wird mit dem Parameter table angegeben. Der Parameter table erwartet als Wert den Referenznamen der Tabellenvorlage.
<CMS_INCLUDE_CONTENT type="ENTRIES" table="MySchema.MyTable">
<LABEL lang="*">#row.city + ", " + #row.country</LABEL>
<LABEL lang="DE">#row.city_DE + ", " + #row.country_DE</LABEL>
<LABEL lang="EN">#row.city_EN + ", " + #row.country_EN</LABEL>
</CMS_INCLUDE_CONTENT>
Es gibt zusätzlich einen optionalen Parameter key
Mithilfe dieses Parameters kann die Spalte angegeben werden, die zur Wertespeicherung herangezogen werden soll.
Wird das Attribut weggelassen, so wird der Primärschlüssel verwendet (Standard).
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! |
Innerhalb des Tags CMS_INCLUDE_CONTENT kann mit dem Tag LABEL eine sprachabhängige Beschriftung der einzelnen Werte definiert werden.
Innerhalb des Tags steht der Platzhalter #row zur Verfügung. #row repräsentiert die aktuell anzuzeigende Datenbankzeile. Es ist somit möglich durch einen Punkt getrennt eine Spalte der Datenbankzeile für die Beschriftung anzugeben, wie z. B. im Beispiel #row.city_EN.
Weiterhin werden über den Ausdrucksmechanismus sprachspezifische Endungen automatisch gesetzt, sollten sie vorhanden sein, d. h. folgende Definition ist möglich:
<CMS_INCLUDE_CONTENT type="ENTRIES" table="MySchema.MyTable">
<LABEL lang="*">#row.city + ", " + #row.country</LABEL>
</CMS_INCLUDE_CONTENT>
Dabei wird abhängig von der zu generierenden Sprache zunächst für die einzelnen Attribute nach Attributen mit Spracherweiterung gesucht (z. B. #row.city_DE für die Sprache DE), und, falls diese nicht vorhanden ist, dann nach einem Attribut mit dem gegebenen Namen.
CMS_INCLUDE_OPTIONS erweitert die Möglichkeiten von CMS_INCLUDE_CONTENT und wird dieses ab FirstSpirit Version 5.0 ersetzen. Eine Gegenüberstellung der Verwendung von CMS_INCLUDE_CONTENT und CMS_INCLUDE_OPTIONS findet sich bei den Beispielen zu CMS_INCLUDE_OPTIONS. |
Pflichtparameter
Pflichtparameter
Optionaler Parameter
Pflichtparameter
Parameter
Bei dem Tag CMS_INCLUDE_CONTENT handelt es sich um einen Container, mit dem Konfigurationen festgelegt werden können, um Einträge in eine Eingabekomponente aus der Datenquellen-Verwaltung automatisch einzufügen.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
table* | Ja | 4.0 | TableTemplateReference | Keiner |
type* | Ja | 4.0 | Type | Keiner |
key | Nein | 4.0 | String | Keiner |
table
Mit dem Parameter 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.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
table* | Ja | 4.0 | TableTemplateReference | Keiner |
type
Bei dem Pflichtparameter type wird der Typ der Werte- bzw. Inhaltsinkludierung angegeben.
Momentan wird als einiziger Typ ENTRIES unterstützt.
Mit diesem Typ werden Datensätze iner Fremdschlüsseltabelle als Eintragsliste eingefügt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
type* | Ja | 4.0 | Type | Keiner |
key
Standardmäßig wird für die Speicherung des ausgewählten Wertes in einer Eingabekomponente der Primärschlüssel einer Tabelle verwendet.
Wird dies jedoch nicht gewünscht, so kann man dem Parameter key eine andere Spalte aus der Tabelle (im Schema) angeben, die für die Speicherung und Visualisierung des ausgewählten Wertes verwendet werden soll.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
key | Nein | 4.0 | String | Keiner |
LABEL
Mit dem Tag LABEL kann eine sprachabhängige Beschriftung der einzelnen Werte definiert werden.
Um die Beschriftung für eine Sprache festzulegen, ist mit dem 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).
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 4.0 | String | Keiner |
lang
Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe FirstSpirit Handbuch für Administratoren, Kapitel "Sprach-Vorlagen"), 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.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 4.0 | String | Keiner |
TEXT
An dieser Stelle wird der Beschriftungstext der auszuwählenden Werte definiert.
Zu den Konfigurationsmöglichkeiten siehe Einleitung oben.
Beispiel
Ein Beispiel für die Verwendung von "CMS_INCLUDE_CONTENT":
<CMS_INPUT_CHECKBOX gridWidth="2" name="BEZEICHNER" useLanguages="NO">
<CMS_INCLUDE_CONTENT table="TABELLENVORLAGE" type="ENTRIES">
<LABEL lang="*">#row.SPALTE</LABEL>
<LABEL lang="DE">#row.SPALTE_DE</LABEL>
<LABEL lang="EN">#row.SPALTE_EN</LABEL>
</CMS_INCLUDE_CONTENT>
<LANGINFOS>
<LANGINFO lang="*" label="TEXT" description="TEXT"/>
<LANGINFO lang="DE" label="TEXT" description="TEXT"/>
<LANGINFO lang="EN" label="TEXT" description="TEXT"/>
</LANGINFOS>
</CMS_INPUT_CHECKBOX>