Typ INLINE
Inhaltsverzeichnis |
zum Beispiel |
zu den Methoden: FormDataList<IdProvidingFormData> |
Mithilfe des FS_LIST-Typs INLINE können Listen von Absätzen oder Verweisen erstellt werden, so dass Redakteure mehrere Absätze bzw. Verweise direkt innerhalb eines Eingabeelementes pflegen können, ohne in eine andere Eingabekomponente, in einen anderen Absatz usw. wechseln zu müssen.
Dabei steht eine Vielzahl an Möglichkeiten zur Verfügung, mit denen Funktion und Layout bzw. Benutzerführung beeinflusst werden können, z. B.
- welche Funktionen zum Anlegen, Bearbeiten und Entfernen von Absätzen oder Verweisen in der Eingabekomponente zur Verfügung stehen sollen (Parameter name innerhalb der Tags ACTIONS / ACTION)
- ob eine tabellarische Übersicht zu den Absätzen und Verweisen dargestellt werden soll oder nicht (Schlüsselbegriff overview zum Parameter component innerhalb der Tags LAYOUT / ADD) und mit welcher Breite und Sortierung die Spalten dieser Übersicht angezeigt werden sollen (Tags COLUMNS / COLUMN)
- wie Register und Balken beschriftet werden sollen (Tags LABELS / LABEL)
- an welcher Position neue Absätze und Verweise in der Eingabekomponente angelegt werden (Schlüsselbegriff add-index innerhalb der Tags ACTIONS / ACTION / PARAM)
- ob die Auswahl von Absätzen bzw. Absatzvorlagen und Verweisen bzw. Verweisvorlagen über einen Dialog mit Suchmöglichkeiten und Detailinformationen oder über ein einfaches Popup-Menü erfolgen soll (Schlüsselbegriff select-ui innerhalb der Tags ACTIONS / ACTION / PARAM)
- ob die Detailansichten über Sprachregister verfügen sollen oder nicht (Schlüsselbegriff show-language-tabs innerhalb der Tags LAYOUT / ADD)
- ob Absätze und Verweise erst nach Akzeptieren einer Sicherheitsabfrage aus der Eingabekomponente entfernt werden sollen (Schlüsselbegriff show-confirm innerhalb der Tags ACTIONS / ACTION / PARAM)
Wichtiger Hinweis zur Schachtelung von FS_LIST-Eingabekomponenten In FS_LIST-Eingabekomponenten können wiederum andere FS_LIST-Eingabekomponenten verwendet werden („Schachtelung“, siehe beispielsweise auch diese Seite). Werden zu viele Schachtelungen vorgenommen, kann dies nicht nur zu Problemen hinsichtlich der Bedienbarkeit (Usability) für Redakteure und der Wartbarkeit in der Entwicklung führen, sondern auch zu Performance-Beeinträchtigungen. Erfahrungen haben gezeigt, dass nach Möglichkeit Schachtelungen über 3 Ebenen hinaus vermieden werden sollten! Speziell wird davon abgeraten, bei Verwendung von FS_LIST, Typ INLINE / SECTIONTEMPLATES, sprachabhängige Eingabekomponenten miteinander zu verschachteln (also sprachabhängige FS_LIST-Eingabekomponente mit sprachabhängigen Eingabekomponenten, siehe dazu auch Parameter useLanguages). Insbesondere in Kombination mit Regeln kann dies zu nicht-speicherbaren Konfigurationen führen! |
Bei den Beispielen unten werden zunächst beispielhafte Konfigurationen für konkrete Anwendungsfälle für FS_LIST, Typ INLINE, vorgestellt (1)).
Im Anschluss wird dargestellt, wie bisher verwendete Konfigurationen von CMS_INPUT_CONTENTAREALIST (2)) und CMS_INPUT_LINKLIST (3)) durch FS_LIST ersetzt werden können.
Bei der Umstellung von CMS_INPUT_CONTENTAREALIST und CMS_INPUT_LINKLIST auf FS_LIST ist zu beachten, dass wenn Daten mit FS_LIST gespeichert wurden, diese bei einer evtl. späteren Rückkehr aufgrund eines abweichenden Datenformats nicht mehr von CMS_INPUT_CONTENTAREALIST bzw. CMS_INPUT_LINKLIST gelesen und interpretiert werden können. |
Access-API Anwendungsbeispiel
Die Beispiel-Implementierung FsListEditorValueExample veranschaulicht einige einfache Anwendungsfälle für den Lesenden-, Schreibenden-, Erstellenden-Zugriff auf das Daten-Objekt (FsListEditorValue) und dessen inneren Daten-Container (FormDataList) der Eingabekomponente anhand der FirstSpirit Access-API.
- Anwendungs-Beispiel: FsListEditorValueExample
- Daten-Objekt: FsListEditorValue
- Container-Typ: FormDataList
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Pflichtparameter
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Pflichtparameter
Pflichtparameter
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Parameter
Der nachfolgenden Tabelle können die Parameter der Eingabekomponente LIST entnommen werden.
name
Das Attribut "name" ist der Variablenname einer Eingabekomponente, mit dem in den Vorlagen - mit Hilfe von $CMS_VALUE()$ - das Ergebnisobjekt der Eingabekomponente verwendet oder der Inhalt ausgegeben werden kann.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 3.1 | Designator | Keiner |
allowEmpty
Mit dem Parameter "allowEmpty" wird festgelegt, ob für eine Eingabekomponente ein Wert angegeben werden muss oder nicht.
Bei der Angabe von allowEmpty="YES" ist eine Eingabe nicht zwingend, bei allowEmpty="NO" jedoch schon.
Eingabekomponenten mit allowEmpty="NO" werden auch als Pflichteingabekomponenten bezeichnet.
Der Standardwert für allowEmpty ist YES.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
allowEmpty | Nein | 3.0 | YesNo | YES |
hFill
Die Anzeige einer Eingabekomponente erfolgt immer mit einer vordefinierten Breite.
Ist es aber gewünscht, dass die Eingabekomponente die volle zur Verfügung stehende Anzeigebreite nutzt, ist der Parameter hFill mit dem Wert YES anzugeben.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
hFill | Nein | 2.0 | YesNo | NO |
height
Mit dem Parameter height kann die Anzeigehöhe der Eingabekomponente auf eine Pixelzahl festgelegt werden.
Als Wert erwartet der Parameter eine Ganzzahl.
Wird der Parameter nicht angegeben, wird die Höhe der Eingabekomponente standardmäßig auf 500 Pixel gesetzt.
Je nach dem, wie Layout, Funktion (z. B. Aufklappverhalten) und ggf. der Parameter rows gewählt sind, sollte die Höhe nicht zu gering gewählt werden.
Befindet sich die Eingabekomponente in einer Gruppierung (CMS_GROUP), richtet sich die Höhe nach der Höhe der höchsten Eingabekomponente innerhalb der Gruppierung.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
height | Nein | 4.2.434 | PositiveInteger | 500 |
hidden
Mit dem Parameter "hidden" kann eine Eingabekomponente für den Redakteur ausgeblendet werden.
Bei der Angabe von hidden="YES" wird die Eingabekomponente ausgeblendet, bei hidden="NO" nicht.
Der Standardwert für hidden ist NO, so dass Eingabekomponenten standardmäßig für den Redakteur sichtbar sind.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
hidden | Nein | 4.0.44 | YesNo | NO |
noBreak
Mit dem Parameter noBreak kann der automatische Zeilenumbruch nach einer Eingabekomponente unterdrückt werden.
Um den automatischen Zeilenumbruch zu unterdrücken, ist der Parameter noBreak mit dem Wert "YES" anzugeben (noBreak="YES").
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
noBreak | Nein | 2.0 | YesNo | NO |
preset
Mit dem Attribut preset kann festgelegt werden, wie Vorgabewerte in einer Eingabekomponente behandelt werden (vgl. dazu auch Kapitel Vorgabewerte). Wird preset="default" gesetzt, wird der im Formular definierte Rückgriffwert verwendet. Nachträgliche Änderungen im Formular an diesem Wert wirken sich auf alle Verwendungen in den vom Redakteur gepflegten Eingabekomponenten aus, solange bis ein manueller Wert in die Eingabekomponente gesetzt wird. Dies ist die Standardeinstellung. Wird preset="copy" gesetzt, wird der durch den Redakteur gewählte Wert "hart" in der Eingabekomponente gespeichert. Nachträgliche Änderungen am Vorgabewert im Formular wirken sich nicht aus.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
preset | Nein | 4.0 | Preset | DEFAULT |
rows
Ist für die Eingabekomponente mit dem DATASOURCE-Typ DATABASE, INLINE oder SERVICE eine Übersicht definiert (<ADD component="overview" ... >), kann mit dem Parameter rows die Höhe der Übersicht beeinflusst werden. Dazu wird die Zahl der gewünschten Zeilen angegeben. Im DATASOURCE-Typ PAGE bezieht sich die über rows angegebene Zahl auf die Höhe der Eingabekomponente in Zeilen. Über eine horizontale Trennleiste zwischen Übersicht und Detailansichten kann die Höhe der Übersicht bzw. der Detailansichten vergrößert bzw. verkleinert werden.
Der Parameter erwartet als Wert eine Ganzzahl.
Standardwert ist 10.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
rows | Nein | 4.2 | PositiveInteger | 10 |
width
Mit dem Parameter width kann die Anzeigebreite der Eingabekomponente in Pixel festgelegt werden.
Der Parameter erwartet als Wert eine Ganzzahl.
Wird der Parameter nicht angegeben so beträgt die Standardbreite 480 Pixel.
Der Parameter hat keine Auswirkung, wenn der Parameter hFill verwendet wird. |
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
width | Nein | 4.2 | PositiveInteger | Keiner |
DATASOURCE
Mithilfe des Tags DATASOURCE wird definiert, auf welchen Datentyp die Eingabekomponente zurückgreifen soll.
Wird das Tag mehr als einmal für eine Eingabekomponente angegeben, wird beim Speichern immer die letzte/unterste Definition übernommen und alle anderen Definitionen entfernt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
type* | Ja | 4.2.403 | DataSourceType | Keiner |
maxEntries | Nein | 4.2 | PositiveInteger | Keiner |
useLanguages | Nein | 4.2 | YesNo | abhängig vom Vorlagentyp: YES (LINKTEMPLATES) / NO (SECTIONTEMPLATES) |
type
Mit dem Pflichtparameter type wird der Datentyp, auf den die Eingabekomponente zurückgreifen soll, bzw. der Typ der Datenherkunft definiert.
Folgende Typen werden unterstützt:
- DATABASE: Mit diesem Parameter ist es möglich, eine Liste von Datensätzen zu erstellen. Die Tabellenvorlage, auf der die Datenquelle basiert, aus der Datensätze ausgewählt bzw. in die neue Datensätze angelegt werden sollen, muss mit dem Tag TABLE angegeben werden.
- INLINE: Mit diesem Parameter ist es möglich, eine Liste von Absätzen bzw. Verweisen zu erstellen. Ob eine Absatz- oder Verweisliste erstellt werden soll, muss über das Tag TEMPLATES, Parameter source definiert werden.
- PAGE: Mit diesem Parameter ist es möglich, eine Liste der Absätze der aktuellen Seite anzeigen zu lassen.
- SERVICE: Mit diesem Parameter ist es möglich, über ein Service-Modul extern Datenlieferanten anzubinden, die der Eingabekomponente Daten zur Verfügung stellen sollen. Weitere Informationen zur Konfiguration werden im FirstSpirit Entwicklerhandbuch für Komponenten bereitgestellt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
type* | Ja | 4.2.403 | DataSourceType | Keiner |
maxEntries
Mit dem Parameter "maxEntries" kann festgelegt werden, wie viele Einträge ausgewählt bzw. hinzugefügt werden dürfen. Als Wert erwartet der Parameter eine positive Ganzzahl.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
maxEntries | Nein | 4.2 | PositiveInteger | Keiner |
useLanguages
Mit dem Parameter useLanguages kann festgelegt werden, ob eine Eingabekomponente für verschiedene Sprachen unterschiedliche bzw. abweichende Werte speichern soll oder nicht (mehrsprachige Pflege).
Bei der Angabe von YES (useLanguages="YES") wird für jede Sprache ein Wert gespeichert, bei der Angabe von NO (useLanguages="NO") wird ein Wert für alle Sprachen gespeichert.
Wird der Parameter nicht angegeben, werden für den Vorlagentyp
- LINKTEMPLATES standardmäßig abweichende Werte für die verschiedenen Sprachen (useLanguages="YES"),
- SECTIONTEMPLATES der gleiche Wert für alle Sprachen (useLanguages="NO")
gespeichert.
In Projekten mit mehreren Projektsprachen sind bei der Konfiguration der Mehrsprachigkeit für FS_LIST auch immer die inneren Eingabekomponenten zu berücksichtigen, also die, die über die zugrundeliegenden Absatz- oder Verweisvorlagen ausgewählt und eingebunden werden (Komponenten 1 bis 3 in der folgenden Grafik):
FS_LIST bildet somit das äußere Formular (außen), die Komponenten der gewählten Vorlagen die inneren Formulare (innen). "Sprachabhängig" bedeutet auch "mehrsprachig", "sprachunabhängig" bedeutet "einsprachig".
- Eingabekomponenten in Verweisvorlagen (TEMPLATES source="LINKTEMPLATES") sind grundsätzlich sprachunabhängig (useLanguages="NO"). Sollen sprachabhängige Inhalte eingegeben werden können, muss für die umgebende FS_LIST useLanguages="YES" definiert werden. Siehe dazu auch Kapitel Verweisvorlagen.
- Eingabekomponenten in Absatzvorlagen (TEMPLATES source="SECTIONTEMPLATES") können sprachabhängig (useLanguages="YES") oder sprachunabhängig (useLanguages="NO") sein. Sowohl die FS_LIST (außen) als auch die Eingabekomponenten in der über die FS_LIST gewählten Absatzvorlagen (innen) können sprachabhängig (useLanguages="YES") oder sprachunabhängig (useLanguages="NO") konfiguriert werden.
Folgende Konfigurationskombinationen sind möglich:- außen sprachabhängig – innen sprachunabhängig
In dieser Kombination ist eine unabhängige Pflege der Inhalte ("Einträge") in den einzelnen Sprachen möglich. Das heißt, für jede Sprache können Listen mit einer unterschiedlichen Anzahl an Absätzen bzw. Verweisen erstellt werden. - außen sprachunabhängig – innen sprachabhängig
In dieser Kombination ist eine mehrsprachige Pflege der Inhalte möglich. Es handelt sich um denselben Eintrag in mehreren Sprachen:
In dieser Konfiguration kann die Pflege der mehrsprachigen Inhalte über das Einblenden von Sprachregistern in der FS_LIST-Komponente selbst vereinfacht werden (<PARAM name="show-language-tabs">yes</PARAM>). - außen sprachunabhängig – innen sprachunabhängig
In dieser Kombination ist nur eine einsprachige Pflege der Inhalte möglich, das heißt, die Inhalte sind für alle Sprachen identisch.
- außen sprachabhängig – innen sprachunabhängig
In der Kombination außen und innen sprachabhängig können nicht alle Inhalte gepflegt werden, daher wird diese Kombination nicht empfohlen. Insbesondere bei Verwendung von Regeln kann dies zu nicht-speicherbaren Konfigurationen führen! |
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
useLanguages | Nein | 4.2 | YesNo | abhängig vom Vorlagentyp: YES (LINKTEMPLATES) / NO (SECTIONTEMPLATES) |
LABELS
Standardmäßig werden für Beschriftungen z. B. der Übersicht, Register, Balken und Tooltips
- die Namen aller Eingabekomponenten, die in der ausgewählten Absatz-, Verweis- oder Tabellenvorlage enthalten sind (Bezeichner), in eckigen Klammern und
- die Werte (falls vorhanden), die in den Eingabekomponenten gespeichert sind, wenn es sich um den Datentyp String handelt (z. B. CMS_INPUT_TEXT, CMS_INPUT_TEXTAREA, CMS_INPUT_DOM)
verwendet:
Über das Tag LABELS kann die Beschriftung beeinflusst werden.
Für den DATASOURCE-Typ PAGE wird LABELS / LABEL nicht unterstützt. |
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>
LABEL
Mit dem Tag LABEL kann für jede Sprache eine flexible, sprachabhängige Beschriftung 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).
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 4.2 | String | Keiner |
lang
Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe , 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.2 | String | Keiner |
TEXT
An dieser Stelle kann eine alternative Beschriftung definiert werden.
Um auf die in den Eingabekomponenten gespeicherten Werte zurückgreifen zu können, steht das Systemobjekt #item zur Verfügung.
Im Falle des DATASOURCE-Typs DATABASE wird die Variable der Spalte (Bezeichner der Eingabekomponente) durch einen Punkt getrennt angehängt, z. B.
#item.cs_lastname
Ist die über FS_LIST referenzierte Tabelle mit einer weiteren Tabelle über eine Fremdschlüsselbeziehung verbunden, können in FS_LIST die Werte einer Spalte der verbundenen Tabelle für die Beschriftung herangezogen werden, indem #item mit der Fremdschlüsselbezeichnung sowie dem gewünschten Spaltennamen angegeben wird, z. B.
#item.product_Properties_Type.Name
wobei product_Properties_Type die Fremdschlüsselbezeichnung ist, Name der Name einer Spalte in der über product_Properties_Type definierten Tabelle.
Im Falle des DATASOURCE-Typs INLINE wird die Variable der jeweiligen Absatz- oder Verweisvorlage (Bezeichner der Eingabekomponente) durch einen Punkt getrennt angehängt, z. B.
#item.st_headline
In beiden Fällen sind auch Kombinationen der Werte mehrerer Eingabekomponenten möglich, z. B.
<LABELS>
<LABEL lang="*">#item.cs_firstname + " " + #item.cs_lastname</LABEL>
</LABELS>
Um z. B. einen Alternativwert für die Anzeige für den Fall zu definieren, dass die betreffende Eingabekomponente nicht befüllt ist, kann die if(...)-Funktion verwendet werden, z. B.
<LABELS>
<LABEL lang="*">if(#item.st_headline.isEmpty, "No headline", #item.st_headline)</LABEL>
</LABELS>
In diesem Beispiel wird der Text "No headline" angezeigt, wenn die Eingabekomponente nicht befüllt ist.
Im Falle des DATASOURCE-Typs INLINE können auch die Bezeichner von Eingabekomponenten unterschiedlicher Absatz- bzw- Verweisvorlagen angegeben werden. Dies bietet sich an, wenn die Auswahl nicht auf eine Vorlage beschränkt ist und die Bezeichner der Eingabekomponenten von Vorlage zu Vorlage variieren. Steht ein über #item angegebener Bezeichner in der vom Redakteur gewählten Vorlage nicht zur Verfügung, wird nichts ausgegeben.
Beispiel:
FS_LIST ermöglicht die Auswahl aus zwei Absatzvorlagen, von denen eine ein Textfeld mit dem Bezeichner "st_text" und eine ein Textfeld mit dem Bezeichner "st_headline" enthält.
Wählt der Redakteur nun die Absatzvorlage, die den Bezeichner "st_text" enthält, wird mit der Syntax
<LABELS>
<LABEL lang="*">#item.st_text + #item.st_headline</LABEL>
</LABELS>
für die Beschriftung der gespeicherte Wert der Eingabekomponente "st_text" verwendet,
wählt der Redakteur die Absatzvorlage, die den Bezeichner "st_headline" enthält, wird der gespeicherte Wert der Eingabekomponente "st_headline" verwendet.
Enthält eine Vorlage beide Bezeichner, werden beide für die Beschriftung verwendet. Für diesen Fall sollte ein Trennzeichen vorgesehen werden, z. B.
<LABELS>
<LABEL lang="*">#item.st_text + " " + #item.st_headline</LABEL>
</LABELS>
Es sollte darauf geachtet werden, dass die verwendeten Variablen (Bezeichner der Eingabekomponenten) korrekt angegeben werden, und die Variablen sollten auch tatsächlich in den zur Auswahl stehenden Vorlagen vorhanden sein. Ansonsten wird auf die Standardbeschriftung zurückgegriffen (Name und alle Werte aller Eingabekomponenten der gewählten Vorlage). Für eine optimale Übersichtlichkeit und Benutzerfreundlichkeit der Komponente sollte eine möglichst kurze Beschriftung gewählt werden. |
Im Falle des DATASOURCE-Typs INLINE ist es zusätzlich möglich, die Vorlage eines Absatzes oder Verweises in der Liste zu ermitteln. Dazu steht das Systemobjekt #template zur Verfügung.
Der Referenzname der verwendeten Vorlage kann z. B. über folgende Syntax für die Beschriftung ausgegeben werden:
<LABELS>
<LABEL lang="*">#template.uid</LABEL>
</LABELS>
Auch hier kann die if(...)-Funktion verwendet werden, um eine Beschriftung in Abhängig von der gewählten Vorlage zu realisieren.
Für den DATASOURCE-Typ PAGE wird LABELS / LABEL nicht unterstützt.
ACTIONS
Mithilfe des Tags ACTIONS kann definiert werden, welche Bearbeitungsmöglichkeiten in der Eingabekomponente zur Verfügung stehen sollen. Dazu werden entsprechende Icons eingeblendet, z. B. zum Anlegen, Bearbeiten oder Löschen von Listen-Elementen.
Für jede Bearbeitungsmöglichkeit muss ein ACTION-Tag angegeben werden.
ACTION
Jede Bearbeitungsmöglichkeit wird über ein ACTION-Tag definiert.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2 | String | Keiner |
name
Über den Parameter name können verschiedene Bearbeitungsmöglichkeiten definiert werden.
Folgende Schlüsselbegriffe stehen dazu zur Auswahl:
- ADD
Über dieses Icon wird ein neues Element (Absatz oder Verweis) zur Liste hinzugefügt. Die Einfügeposition kann über den Schlüsselbegriff add-index innerhalb der Tags ACTIONS / ACTION / PARAM vorgegeben werden. Damit eine weitere Bearbeitung möglich ist, ist zusätzlich die Angabe von <ACTION name="EDIT"/> erforderlich. Beim Speichern der Vorlage wird dies automatisch ergänzt. - EDIT
Icon zum Bearbeiten eines in der Liste markierten Elements. Ist <ACTION name="ADD"/> gesetzt, wird <ACTION name="EDIT"/> automatisch beim Speichern der Vorlage ergänzt.
Im Ansichts-Modus wird das Icon angezeigt. - REMOVE
Icon zum Löschen eines in der Liste markierten Elements aus der Liste. Über den Schlüsselbegriff show-confirm innerhalb der Tags ACTIONS / ACTION / PARAM kann definiert werden, ob der Datensatz sofort oder erst nach Akzeptieren einer Sicherheitsabfrage entfernt wird. - DOWN / UP
Icons zum nach unten / oben Verschieben eines in der Liste markierten Elements - DETACH
Icon zum Öffnen des markierten Listeneintrags in einem separaten Fenster - VIEW
Icon zum Einblenden des markierten Listeneintrags.
Werden in der Komponente Übersicht und Detailansichten verwendet, wird mit einem Klick auf einen Eintrag die entsprechende Detailansicht aufgeklappt. Wird nur die Übersicht verwendet, wird mit einem Klick auf einen Eintrag in der Übersicht die entsprechende Detailansicht in einem separaten Fenster angezeigt.
Beispiel
Soll die Eingabekomponente über Icons verfügen, mit dem Absätze bzw. Verweise angelegt, bearbeitet und entfernt werden können, muss folgende Syntax verwendet werden:
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="EDIT"/>
<ACTION name="REMOVE"/>
</ACTIONS>
Die Reihenfolge, in der die Bearbeitungsmöglichkeiten innerhalb von ACTIONS angegeben werden, wirkt sich auch auf die Reihenfolge der Icons in der Eingabekomponente aus.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2 | String | Keiner |
PARAM
Über das Tag PARAM können weitere Einstellungen zum Verhalten der FS_LIST-Eingabekomponente vorgenommen werden.
Für jede Einstellung muss ein PARAM-Tag angegeben werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
name
Über den Parameter name können verschiedene Einstellungen definiert werden. Folgende Schlüsselbegriffe stehen dabei zur Verfügung:
- add-index (Verwendung mit <ACTION name="ADD"/>): Mithilfe dieses Schlüsselbegriffs kann für das "Hinzufügen"-Icon (component="toolbar") festgelegt werden, an welcher Position in der Liste ein neues Element eingefügt werden soll.
- select-ui (Verwendung mit <ACTION name="ADD"/>): Standardmäßig öffnet sich bei einem Klick auf das Icon "Hinzufügen" ein Dialogfenster, aus dem die gewünschte Absatz- oder Verweisvorlage ausgewählt werden kann. Mit diesem Schlüsselbegriff kann eingestellt werden, ob zur Auswahl statt dem Dialogfenster ein Popup-Menü geöffnet wird.
- show-confirm (Verwendung mit <ACTION name="REMOVE"/>): Mit dem Wert "show-confirm" kann gesteuert werden, ob vor dem Entfernen eines Elements aus der Liste eine Sicherheitsabfrage angezeigt wird (ja/nein). Standardmäßig wird eine Sicherheitsabfrage angezeigt.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
TEXT
Für add-index stehen folgende Optionen zur Verfügung:
- before: Neue Listeneinträge werden bei Betätigen des "Hinzufügen"-Icons vor dem aktuellen Element eingefügt. Ist kein Eintrag ausgewählt (z. B. Auswahl desselben Eintrags mit
), werden neue Listeneinträge an letzter / unterster Position der Liste eingefügt. - last: Neue Listeneinträge werden unabhängig von einer Auswahl an letzter / unterster Position der Liste eingefügt.
- after: Neue Listeneinträge werden nach dem aktuellen Element eingefügt. Ist kein Eintrag ausgewählt (z. B. Auswahl desselben Eintrags mit
), werden neue Listeneinträge an erster / oberster Position der Liste eingefügt. - first: Neue Listeneinträge werden unabhängig von einer Auswahl an erster / oberster Position der Liste eingefügt.
- default: Neue Listeneinträge werden unabhängig von einer Auswahl als letztes Element eingefügt.
Für select-ui stehen folgende Optionen zur Verfügung:
- dialog: Standardmäßig wird beim Anlegen eines neuen Absatzes oder Verweises ein Dialogfenster mit der Baumstruktur der Vorlagen-Verwaltung geöffnet, aus der die gewünschte Absatz- oder Verweisvorlage gewählt werden kann.
Ist über den Parameter uid innerhalb der Tags TEMPLATES / TEMPLATE nur eine Vorlage angegeben, wird der neue Absatz bzw. der neue Verweis ohne Öffnen des Dialogs direkt mit dieser Vorlage angelegt. Ist die Auswahl der Vorlagen über diese Tags auf bestimmte Vorlagen eingeschränkt, ist die Verwendung der Option popup oder list empfehlenswert, um dem Redakteur die Suche und Auswahl der gewünschten Vorlage zu vereinfachen. - popup: Beim Anlegen eines neuen Absatzes oder Verweises wird ein Popup-Menü geöffnet, aus der die gewünschte Absatz- oder Verweisvorlage gewählt werden kann:
Dabei wird die Ordner-Hierarchie der Vorlagen-Verwaltung mit abgebildet. Dieses Menü kann per Klick in die Titelleiste des Fensters oderwieder geschlossen werden.
Ist über den Parameter uid innerhalb der Tags TEMPLATES / TEMPLATE nur eine Vorlage angegeben, wird der neue Absatz bzw. der neue Verweis ohne Öffnen des Popup-Menüs direkt mit dieser Vorlage angelegt. Ist die Auswahl der Vorlagen über diese Tags auf bestimmte Vorlagen eingeschränkt, wird immer die jeweilige Vorlage sowie die Ordnerstruktur bis hin zur Wurzel angezeigt. - list: Beim Anlegen eines neuen Absatzes oder Verweises wird ein Popup-Menü geöffnet, aus der die gewünschte Absatz- oder Verweisvorlage gewählt werden kann:
Anders als bei popup wird dabei aber die Ordner-Hierarchie der Vorlagen-Verwaltung nicht mit abgebildet. Dieses Menü kann per Klick in die Titelleiste des Fensters oderwieder geschlossen werden.
Für show-confirm stehen folgende Optionen zur Verfügung:
- yes: Vor dem Löschen bzw. Entfernen eines Listenelements wird eine Sicherheitsabfrage angezeigt. Dies ist die Standardeinstellung.
- no: Vor dem Löschen bzw. Entfernen eines Listenelements wird keine Sicherheitsabfrage angezeigt. Das Element wird direkt gelöscht bzw. entfernt.
Beispiel
...
<ACTIONS>
<ACTION name="ADD">
<PARAM name="add-index">FIRST</PARAM>
</ACTION>
<ACTION name="REMOVE">
<PARAM name="show-confirm">no</PARAM>
</ACTION>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
...
In jedem PARAM-Tag kann zu einem name-Parameter nur ein Wert angegeben werden. Existieren mehrere Werte-Definitionen zu einem name-Parameter, wird immer die oberste Definition im Formular berücksichtigt. |
COLUMNS
Ist in der Eingabekomponente eine Übersicht vorhanden (Tag LAYOUT, <ADD component="overview" ...>), können über das Tag COLUMNS die Spalten konfiguriert werden, z. B. die Spaltenbreite.
Ohne weitere Konfiguration wird die Spalte in einer am Inhalt (siehe dazu auch Tags LABELS / LABEL) orientierten Breite angezeigt.
Über COLUMNS / COLUMN kann eine feste Spaltenbreite vorgegeben werden.
Zusätzlich zu der Spalte, in der der Inhalt der Einträge enthalten ist, kann über COLUMNS / COLUMN auch eine Spalte mit fortlaufender Nummerierung eingeblendet werden.
COLUMN
Mit dem Tag COLUMN können Eigenschaften für jeweils eine Spalte festgelegt werden.
Der Name der Spalte, für die die Eigenschaften gelten sollen, wird innerhalb eines öffnenden und schließenden COLUMN-Tags angegeben (siehe Platzhalter TEXT innerhalb des COLUMNS-Tags).
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
resizable | Nein | 4.2 | YesNo | YES |
show | Nein | 4.2 | YesNo | YES |
sortOrder | Nein | 4.2 | SortOrder | Keiner |
width | Nein | 4.2 | PositiveInteger | Keiner |
resizable
Der Parameter resizable hat für diesen DATASOURCE-Typ keine Auswirkung.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
resizable | Nein | 4.2 | YesNo | YES |
show
Mit dem Parameter show kann definiert werden, ob eine Spalte (siehe COLUMNS / COLUMN / TEXT) in der Eingabekomponente angezeigt wird oder nicht.
Wird COLUMNS / COLUMN nicht angegeben, wird beim Speichern automatisch
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
ergänzt. In dieser Konfiguration werden alle Spalten bis auf die Spalte mit der fortlaufenden Nummerierung angezeigt.
Wird für eine Spalte COLUMN angegeben, wird sie standardmäßig angezeigt (show="YES").
Soll eine Spalte ausgeblendet werden, muss show="NO" gesetzt werden. Andere Parameter innerhalb von COLUMN für die betreffende Spalte haben dann keine Auswirkung.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
show | Nein | 4.2 | YesNo | YES |
sortOrder
Der Parameter sortOrder hat für diesen DATASOURCE-Typ keine Auswirkung.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
sortOrder | Nein | 4.2 | SortOrder | Keiner |
width
Mit dem Parameter width kann die Anzeigebreite der Spalte in Pixel festgelegt werden.
Der Parameter erwartet als Wert eine Ganzzahl.
Wird der Parameter nicht angegeben, so richtet sich die Spaltenbreite nach dem Inhalt der Spalten.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
width | Nein | 4.2 | PositiveInteger | Keiner |
TEXT
An dieser Stelle wird die Spalte definiert, für die die Eigenschaften gelten sollen.
Dazu werden folgende Bezeichner verwendet:
- #identifier: Spalte mit fortlaufender Nummerierung
- #text: Spalte mit dem Inhalt des Listeneintrags
Dieser Bezeichner wird von einem öffnenden und schließenden COLUMN-Tag umschlossen.
Beispiel:
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
<COLUMN show="yes" width="500">#text</COLUMN>
</COLUMNS>
Wird COLUMNS / COLUMN nicht angegeben, wird folgende Konfiguration beim Speichern der Vorlage automatisch ergänzt:
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
LAYOUT
Mithilfe dieses Tags kann das Aussehen der Liste frei definiert werden. Dazu stehen verschiedene "Komponenten" zur Verfügung (z. B. Symbolleiste, Übersicht, Detailansicht), die an unterschiedlichen Stellen positioniert werden können (z. B. oben, unten, recht, links).
ADD
Für jede "Komponente" des Layouts muss ein ADD-Tag angegeben werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
component | Nein | 4.2.404 | String | Keiner |
constraint | Nein | 4.2.404 | LayoutConstraint | Keiner |
component
Über diesen Parameter wird die gewünschte Layout-Komponente angegeben.
Folgende Werte sind zulässig:
- overview: Übersicht über die Einträge der Liste (siehe Grafik unten, Parameter constraint, Punkt 2.)
- toolbar: Symbolleiste mit Icons zur Bearbeitung der Einträge, diese werden in Abhängigkeit von den über ACTIONS / ACTION definierten Bearbeitungsmöglichkeiten dargestellt (siehe Grafik unten, Parameter constraint, Punkt 1.).
- stackedview: Die Detailansichten aller Listeneinträge werden untereinander dargestellt. Je nach Konfiguration über das Tag PARAM (siehe unten) können die Detailansichten über die Icons , bzw. durch Doppelklick auf den Eintrag in der Übersicht (falls vorhanden) minimiert bzw. maximiert werden. D.h. potenziell werden in dieser Ansicht alle Informationen zu allen Einträgen gleichzeitig dargestellt. Diese Ansicht entspricht der Ansicht von FS_LIST bis FirstSpirit Version 4.2R2 einschließlich. Oberhalb jeder Detailansicht werden darüber hinaus Icons zur Bearbeitung der Listeneinträge angezeigt.
- singleview: Mithilfe dieses Wertes wird die Detailansicht nur des in der Übersicht markierten Elements unterhalb der Übersicht dargestellt. Oberhalb jeder Detailansicht werden darüber hinaus Icons zur Bearbeitung der Listeneinträge angezeigt.
- simpleview: Mithilfe dieses Wertes wird die Detailansicht nur des in der Übersicht markierten Elements unterhalb der Übersicht dargestellt. Oberhalb der Detailansichten werden keine Icons zur Bearbeitung bzw. zur Navigation durch die Listenelemente angezeigt. Eine Navigation durch die Listenelemente ist nur über eine Auswahl in der Übersicht möglich.
Die über component="toolbar" definierbare Symbolleiste und ihre Icons beziehen sich dabei immer nur auf den Eintrag, der aktuell in der Übersicht ausgewählt / markiert ist. Wird keine Übersicht (component="overview") verwendet, können die Listeneinträge nicht eindeutig markiert werden. In diesem Fall sollte component="toolbar" ebenfalls nicht verwendet werden, die Bearbeitung der Listeneinträge kann dann nur über die in den Detailansichten zur Verfügung stehenden Icons erfolgen (siehe auch Screenshots zum Schlüsselbegriff toolbar-assembly innerhalb der Tags LAYOUT / ADD / PARAM).
Der Parameter component muss mit dem Parameter constraint (siehe unten) verwendet werden. Nicht jede Kombination von component="..." und constraint="..." ist dabei sinnvoll.
In den Modi "stackedview" (component="stackedview"), "singleview" (component="singleview") und "simpleview" (component=""simpleview"") stehen neben der Positionsangabe über den Parameter constraint darüber hinaus weitere Konfigurationsmöglichkeiten zur Verfügung. Siehe dazu Tag PARAM innerhalb der Tags LAYOUT / ADD.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
component | Nein | 4.2.404 | String | Keiner |
constraint
Über diesen Parameter kann die Position der Layout-Komponente angegeben werden:
- top: Die Layout-Komponente wird oben angezeigt.
- center: Die Layout-Komponente wird in der Mitte angezeigt.
- bottom: Die Layout-Komponente wird unten angezeigt.
- left: Die Layout-Komponente wird links angezeigt.
- right: Die Layout-Komponente wird rechts angezeigt.
- hide: Die Layout-Komponente wird ausgeblendet.
Die Werte top, bottom, center, left und right dürfen nur einmal verwendet werden, hide darf mehrfach verwendet werden.
Dieser Parameter muss mit dem Parameter component verwendet werden.
Beispiel:
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="bottom"/>
</LAYOUT>
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
constraint | Nein | 4.2.404 | LayoutConstraint | Keiner |
PARAM
Über das Tag PARAM können weitere Einstellungen zum Verhalten der FS_LIST-Eingabekomponente vorgenommen werden.
Für jede Einstellung muss ein PARAM-Tag angegeben werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
name
Im Modus stackedview (<ADD component="stackedview" constraint="...">) können über den Parameter name verschiedene Einstellungen hinsichtlich der Detailansichten definiert werden. Folgende Schlüsselbegriffe stehen dabei zur Verfügung:
- expand-behaviour: Mithilfe von name="expand-behaviour" kann das Aufklappverhalten der Detailansichten (z. B. mittels der Icons ) gesteuert werden. So können z. B. Listen mit vielen Einträgen bzw. mit vielen Eingabekomponenten innerhalb der Einträge übersichtlicher gestaltet und den Redakteuren die Arbeit erleichtert werden.
- toolbar-assembly: Jede Detailansicht verfügt über eine eigene Symbolleiste mit den Icons, die aufgrund der Definition von ACTIONS / ACTION angezeigt werden. Mithilfe von name="toolbar-assembly" kann die Darstellung dieser Symbolleiste gesteuert werden.
- show-language-tabs: Mithilfe von name="show-language-tabs" kann für Absatzlisten (source="SECTIONTEMPLATES") gesteuert werden, ob die Detailansichten über Sprachregister verfügen sollen oder nicht.
- show-selection-box: Mithilfe von name="show-selection-box" kann gesteuert werden, ob die Drop-Down-Box mit den zur Verfügung stehenden Absatz- bzw- Verweisvorlagen in der Detailansicht dargestellt werden soll oder nicht.
Im Modus singleview (<ADD component="singleview" constraint="...">) kann folgender Schlüsselbegriff verwendet werden:
- show-language-tabs: Mithilfe von name="show-language-tabs" kann für Absatzlisten (source="SECTIONTEMPLATES") gesteuert werden, ob die Detailansichten über Sprachregister verfügen sollen oder nicht.
Im Modus simpleview (<ADD component="simpleview" constraint="...">) kann folgender Schlüsselbegriff verwendet werden:
- show-language-tabs: Mithilfe von name="show-language-tabs" kann für Absatzlisten (source="SECTIONTEMPLATES") gesteuert werden, ob die Detailansichten über Sprachregister verfügen sollen oder nicht.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 4.2.404 | String | Keiner |
TEXT
Für expand-behaviour stehen folgende Optionen zur Verfügung (nur Modus stackedview):
- collapse_all: Initial (und nach Aktualisierung der Ansicht) werden alle Detailansichten eingeklappt dargestellt.
Dies ist die Standardeinstellung.
Mit einem Klick auf die "Maximieren"-/"Minimieren" bzw. Pfeil-Icons oder mit einem Doppelklick auf den Balken eines beliebigen Elements öffnet bzw. schließt sich die Detailansicht des Elements. Es können alle Detailansichten gleichzeitig geöffnet bzw. geschlossen dargestellt werden. - expand_all: Initial (und nach Aktualisierung der Ansicht) werden alle Detailansichten ausgeklappt dargestellt.
Sie können gleichzeitig geschlossen bzw. wieder geöffnet werden, wenn das Icon "Alle minimieren" bzw "Alle maximieren" auf dem Balken eines beliebigen Elements angeklickt wird. Eine einzelne Detailansicht kann mit einem Klick auf die Pfeil-Icons oder Doppelklick auf den Balken geschlossen bzw. geöffnet werden.
Hinweis: Bei Verwendung dieser Option kann das Laden aller Datensätze einige Zeit in Anspruch nehmen. Dies sollte bei der Konfiguration berücksichtigt werden. - expand_follows_mouse: Initial (und nach Aktualisierung der Ansicht) werden alle Detailansichten eingeklappt dargestellt.
Die Detailansicht eines Listenelements öffnet sich, wenn der Mauszeiger über den zugehörigen Balken gehalten wird, mit einem Klick auf das "Maximieren"- oder das entsprechende Pfeil-Icon oder mit Doppelklick auf den Eintrag in der Übersicht. Sie schließt sich wieder mit einem Klick auf das "Minimieren"- bzw. Pfeil-Icon oder durch das Öffnen einer anderen Detailansicht. - expand_follows_current: Initial (und nach Aktualisierung der Ansicht) wird nur die Detailansicht des letzten / untersten Listenelements aufgeklappt dargestellt.
Mit einem Klick auf die "Maximieren"-/"Minimieren" bzw. Pfeil-Icons oder mit einem Doppelklick auf den Balken eines beliebigen Elements öffnet bzw. schließt sich die Detailansicht. - expand_first: Initial (und nach Aktualisierung der Ansicht) wird nur die Detailansicht des ersten (obersten) Listenelements aufgeklappt dargestellt.
Im Bearbeitungsmodus kann eine Detailansicht mit einem Klick auf die "Maximieren"-/"Minimieren" bzw. Pfeil-Icons oder mit einem Doppelklick auf den Balken eines beliebigen Elements geöffnet bzw. geschlossen werden. Es können alle Detailansichten gleichzeitig geöffnet bzw. geschlossen dargestellt werden. - expand_last: Initial (und nach Aktualisierung der Ansicht) wird nur die Detailansicht des letzten (untersten) Listenelements aufgeklappt dargestellt.
Im Bearbeitungsmodus kann eine Detailansicht mit einem Klick auf die "Maximieren"-/"Minimieren" bzw. Pfeil-Icons oder mit einem Doppelklick auf den Balken eines beliebigen Elements geöffnet bzw. geschlossen werden. Es können alle Detailansichten gleichzeitig geöffnet bzw. geschlossen dargestellt werden.
Die Listenelemente können generell auch per Doppelklick auf den Eintrag in der Übersicht geöffnet werden.
Für toolbar-assembly stehen folgende Optionen zur Verfügung (nur Modus stackedview):
- panel: Die Symbolleiste wird direkt auf dem Balken dargestellt:
- subform: Die Symbolleiste wird unterhalb des Balkens dargestellt:
Dies ist die Standardeinstellung.
Für show-language-tabs stehen folgende Optionen zur Verfügung:
- yes: Die Detailansichten werden mit eigenen Sprachregistern dargestellt, über die redaktionelle Inhalte in den zur Verfügung stehenden Projektsprachen gepflegt werden können:
Diese Option ist nicht notwendig, wenn für die Eingabekomponenten, die innerhalb des Listeneintrags dargestellt werden, useLanguages="no" gesetzt ist. - no: Die Detailansichten werden ohne Sprachregister dargestellt. Zu den Inhalten, die für andere Sprachen hinterlegt sind, muss über die Sprachregister auf Absatz-, Seiten- oder Datensatzebene gewechselt werden. Dies ist die Standardeinstellung.
Siehe dazu auch Parameter useLanguages.
Für show-selection-box stehen folgende Optionen zur Verfügung (nur Modus stackedview):
- yes: Die Drop-Down-Box mit den zur Verfügung stehenden Absatz- bzw- Verweisvorlagen wird in der Detailansicht dargestellt:
- no: Die Drop-Down-Box mit den zur Verfügung stehenden Absatz- bzw- Verweisvorlagen wird in der Detailansicht nicht dargestellt. Dies ist die Standardeinstellung.
Beispiel
...
<LAYOUT>
<ADD component="overview" constraint="center"/>
<ADD component="toolbar" constraint="top"/>
<ADD component="stackedview" constraint="bottom">
<PARAM name="expand-behaviour">expand_follows_current</PARAM>
<PARAM name="toolbar-assembly">panel</PARAM>
<PARAM name="show-selection-box">yes</PARAM>
<PARAM name="show-language-tabs">yes</PARAM>
</ADD>
</LAYOUT>
...
In jedem PARAM-Tag kann zu einem name-Parameter nur ein Wert angegeben werden. Existieren mehrere Werte-Definitionen zu einem name-Parameter, wird immer die erste (oberste) Definition im Formular berücksichtigt. |
TEMPLATES
Über das Tag TEMPLATES wird angegeben, welcher Vorlagentyp auswählbar sein soll.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
source* | Ja | 4.2R4 | TemplateSource | Keiner |
source
Über den Pflichtparameter source wird der Vorlagentyp definiert, der auswählbar sein soll.
Dazu stehen die Variablen LINKTEMPLATES und SECTIONTEMPLATES zur Verfügung: Wird source="LINKTEMPLATES" gesetzt, kann aus den Verweisvorlagen des Projektes gewählt werden, wird source="SECTIONTEMPLATES" gesetzt, kann aus den Absatzvorlagen des Projektes gewählt werden.
Im Falle von source="LINKTEMPLATES" wird nur die Auswahl von Verweisen des Typs "genericLink" unterstützt! Daher wird empfohlen, vor der Verwendung von oder der Migration zu FS_LIST Verweise vom Typ "internalLink", "externalLink" und "contentLink" zu konvertieren. Dazu kann die Konvertierungsfunktion verwendet werden (Kontextmenü von Verweisvorlagen, "Extras" / "Verweisvorlage konvertieren"). |
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
source* | Ja | 4.2R4 | TemplateSource | Keiner |
TEMPLATE
Mit einem TEMPLATE-Tag wird genau eine Vorlage des über den Parameter source im Tag TEMPLATES angegebenen Vorlagentyps definiert, die in der Eingabekomponente auswählbar sein soll.
Wird kein TEMPLATE-Tag angegeben, können alle Vorlagen des über den Parameter source im Tag TEMPLATES definierten Typs ausgewählt werden.
Das Tag besitzt den Pflichtparameter uid, der den eindeutigen Bezeichner der Vorlage enthalten muss.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
uid* | Ja | 4.2R4 | String | Keiner |
uid
Für den Pflichtparameter uid ist ein gültiger Referenzname einer Vorlage anzugeben.
Dabei ist der Vorlagentyp zu berücksichtigen, der über den Parameter source im Tag TEMPLATES, angegeben wurde: Ist source="LINKTEMPLATES" definiert, können für uid nur Referenznamen von Vorlagen angegeben werden, die sich in der Vorlagenverwaltung im Unterordner "Verweisvorlagen" befinden. Ist source="SECTIONTEMPLATES" definiert, können für uid nur Referenznamen von Vorlagen angegeben werden, die sich in der Vorlagenverwaltung im Unterordner "Absatzvorlagen" befinden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
uid* | Ja | 4.2R4 | String | Keiner |
LANGINFOS
Über das Tag LANGINFOS können für jede Eingabekomponente sprachabhängige Angaben definiert werden, z. B. wie die Eingabekomponente in den unterschiedlichen Projektsprachen betitelt sein soll (Parameter label), welcher Tooltip angezeigt werden soll (Parameter description) usw. Aus Gründen der Übersichtlichkeit werden dabei Definitionen, die in mehreren Sprachen identisch sind, zusammengefasst. So wird z. B. aus
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="DE" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
Die Definition für den Rückfallwert (*) bleibt dabei immer erhalten, von Definitionen für Sprachen mit gleichen Werten bleibt immer die oberste erhalten.
Ab FirstSpirit-Version 4.2R4 kann der Rückfallwert weggelassen werden. Dann wird beim Speichern automatisch die zuerst definierte Sprache als Rückfallwert verwendet, z. B. wird aus
<LANGINFOS>
<LANGINFO lang="EN" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
LANGINFO
Mit dem Tag LANGINFO werden Werte oder Attribute für eine Sprache oder aber für die Verwendung als Rückfallwerte angegeben.
Um Werte bzw. Attribute für eine Sprache anzugeben ist im Parameter lang die Abkürzung der Projektsprache anzugeben:
...
<LANGINFO lang="DE".../>
...
Rückfallwerte werden mit dem speziellen Sprachkürzel * ("für alle Sprachen") angegeben:
...
<LANGINFO lang="*".../>
...
Bei dem Parameter lang handelt es sich um einen Pflichtparameter.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 3.1 | LanguageAbbreviation | Keiner |
description | Nein | 3.1 | String | Keiner |
label | Nein | 3.1 | String | Keiner |
lang
Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe , 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 | 3.1 | LanguageAbbreviation | Keiner |
description
Mit dem Parameter description kann eine Beschreibung angegeben werden, die zur Anzeige eines Tooltipps (Mouse-Over) genutzt wird.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
description | Nein | 3.1 | String | Keiner |
label
Mit dem Parameter label wird die Oberflächenbeschriftung für Eingabe- und Visualisierungkomponenten angegeben.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
label | Nein | 3.1 | String | Keiner |
Beispiele
1) Konfigurationsbeispiele FS_LIST, Typ INLINE
Mithilfe des folgenden Beispiel-Formulars kann FS_LIST so konfiguriert werden, dass Redakteure eine Liste von Absätzen auf der Basis der im Projekt vorhandenen Absatzvorlagen erstellen können:
<FS_LIST name="pt_sections" hFill="yes" rows="10">
<DATASOURCE type="inline" useLanguages="no">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="singleview" constraint="bottom"/>
</LAYOUT>
<TEMPLATES source="sectiontemplates"/>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Absätze bearbeiten"/>
</LANGINFOS>
</FS_LIST>
Mithilfe des folgenden Beispiel-Formulars kann FS_LIST so konfiguriert werden, dass Redakteure eine Liste von Verweisen auf der Basis der im Projekt vorhandenen Verweisvorlagen erstellen können:
<FS_LIST name="pt_links">
<DATASOURCE type="inline" useLanguages="no">
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="singleview" constraint="bottom"/>
</LAYOUT>
<TEMPLATES source="linktemplates"/>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Verweise bearbeiten"/>
</LANGINFOS>
</FS_LIST>
FS_LIST unterstützt für den DATASOURCE-Typ INLINE mit source="LINKTEMPLATES" nur die Auswahl von Verweisen des Typs "genericLink" (siehe auch Kapitel Verweisvorlagen)! Daher wird empfohlen, vor der Verwendung von FS_LIST oder der Migration zu FS_LIST Verweise vom Typ "internalLink", "externalLink" und "contentLink" zu konvertieren. Dazu kann die Konvertierungsfunktion verwendet werden (Kontextmenü von Verweisvorlagen, "Extras" / "Verweisvorlage konvertieren"). |
In den angegebenen Beispiel-Formularen sind alle Absatz- bzw. Verweisvorlagen für den Redakteur auswählbar. Um die Auswahl einzuschränken, muss im Tag TEMPLATES folgende Definition für jede Absatz- bzw. Verweisvorlage angegeben werden, die auswählbar sein soll:
<TEMPLATE uid="BEZEICHNER"/>
Um die Beschriftung der Absätze bzw. Verweise in der Übersicht flexibel zu gestalten, kann mithilfe von #item innerhalb des LABELS / LABEL Tags auf den in einer Eingabekomponente gespeicherten Wert zugegriffen werden. Dazu wird die Variable (Bezeichner) der betreffenden Eingabekomponente durch einen Punkt getrennt angehängt, z. B.:
<LABELS>
<LABEL lang="*">#item.BEZEICHNER</LABEL>
</LABELS>
Optional kann z. B. auch component="stackedview" bei constraint="bottom" gewählt werden. Hierdurch kann die Detailansicht aller durch den Redakteur angelegten Absätze bzw. Verweise unterhalb der Übersicht untereinander dargestellt werden.
2) Abbildung der Eingabekomponente CMS_INPUT_CONTENTAREALIST
Mithilfe der Eingabekomponente FS_LIST können die Funktionalitäten der Eingabekomponente CMS_INPUT_CONTENTAREALIST abgebildet werden.
Bei der Umstellung von CMS_INPUT_CONTENTAREALIST auf FS_LIST ist zu beachten, dass wenn Daten mit FS_LIST gespeichert wurden, diese bei einer evtl. späteren Rückkehr aufgrund eines abweichenden Datenformats nicht mehr von CMS_INPUT_CONTENTAREALIST gelesen und interpretiert werden können. |
Beispiel-Formular CMS_INPUT_CONTENTAREALIST:
<CMS_INPUT_CONTENTAREALIST name="BEZEICHNER">
<LANGINFOS>
<LANGINFO lang="*" label="Absätze bearbeiten"/>
</LANGINFOS>
<SOURCES>
<TEMPLATE name="BEZEICHNER"/>
</SOURCES>
</CMS_INPUT_CONTENTAREALIST>
Abbildung durch FS_LIST:
<FS_LIST name="BEZEICHNER">
<DATASOURCE type="inline" useLanguages="no">
<LABELS>
<LABEL lang="*">#item.BEZEICHNER</LABEL>
</LABELS>
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide"/>
</LAYOUT>
<TEMPLATES source="sectiontemplates">
<TEMPLATE uid="BEZEICHNER"/>
</TEMPLATES>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Absätze bearbeiten"/>
</LANGINFOS>
</FS_LIST>
Mithilfe von #item.BEZEICHNER innerhalb des LABELS / LABEL Tags wird die Beschriftung der Absätze in der Übersicht flexibel gestaltet. Um auf den in einer Eingabekomponente des Absatzes gespeicherten Wert zugreifen zu können, wird die Variable (Bezeichner) der betreffenden Eingabekomponente durch einen Punkt getrennt an #item angehängt. In CMS_INPUT_CONTENTAREALIST wurde dies zuvor mittels der Tags VARIABLES / VARIABLE realisiert.
War in CMS_INPUT_CONTENTAREALIST innerhalb der VARIABLES / VARIABLE Tags die Variable template definiert, mit der der Referenzname der verwendeten Vorlage für einen Eintrag ausgegeben wurde, wird in FS_LIST dafür nun das Systemobjekt #template innerhalb der Tags LABELS / LABEL eingesetzt:
aus der Definition
<VARIABLES>
<VARIABLE name="template"/>
</VARIABLES>
würde dann in FS_LIST
<LABELS>
<LABEL lang="*">#template.uid</LABEL>
</LABELS>
Waren in CMS_INPUT_CONTENTAREALIST über die SOURCES / TEMPLATE Tags Absatzvorlagen definiert, aus denen der Redakteur auswählen konnte, wird dies in FS_LIST nun über
<TEMPLATE uid="BEZEICHNER"/>
definiert. Für jede Absatzvorlage, die zur Auswahl zur Verfügung stehen soll, muss eine solche Definition vorhanden sein. Dabei muss über uid der Referenzname einer Absatzvorlage angegeben werden.
Für die Funktionalität in CMS_INPUT_CONTENTAREALIST, Absätzen manuell einen Namen zuzuweisen bzw. umzubenennen (z. B. Icon ), der dann in der Übersicht angezeigt wird, gibt es in FS_LIST keine Entsprechung. Für die Listenübersicht und auf den Balken wird, wenn der gewählte Absatz ausschließlich "leere" Eingabekomponenten enthält (z. B. bei Neuanlage, wenn noch keine Werte eingepflegt sind), standardmäßig der Anzeigename der Absatzvorlage angezeigt, bei "gefüllten" Eingabekomponenten die Beschriftung und der Inhalt der Eingabekomponenten. |
Damit bereits manuell zugewiesene Absatznamen auch in FS_LIST erhalten und gespeichert bleiben, muss in der oder den betreffenden Absatzvorlage/n (die über die CMS_INPUT_CONTENTAREALIST ausgewählt wurden) zusätzlich eine Eingabekomponente mit der Variablen (Bezeichner) displayName (Groß- und Kleinschreibung beachten!) definiert werden, in der dieser Absatzname gespeichert werden soll. Die Eingabekomponente muss vom Typ CMS_INPUT_TEXT oder CMS_INPUT_TEXTAREA sein. |
Ein entsprechendes FS_LIST-Formular würde in diesem Fall folgendermaßen aussehen:
<FS_LIST name="st_cal">
<DATASOURCE type="inline" useLanguages="no">
<LABELS>
<LABEL lang="*">#item.displayName</LABEL>
</LABELS>
<ACTIONS>
<ACTION name="ADD">
<PARAM name="select-ui">popup</PARAM>
</ACTION>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide">
<PARAM name="show-language-tabs">yes</PARAM>
</ADD>
</LAYOUT>
<TEMPLATES source="sectiontemplates"/>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Absätze"/>
</LANGINFOS>
</FS_LIST>
Bei Verwendung von CMS_INPUT_CONTENTAREALIST konnte darüber hinaus z. B. für eine Art Inhaltsverzeichnis am Anfang einer Seite über folgende Syntax eine Liste der Absätze erstellt werden:
$CMS_FOR(entry, st_cal)$
<a href="#$CMS_VALUE(entry.name)$">Section $CMS_VALUE(#for.index + 1)$</a>
$CMS_END_FOR$
Zur Verwendung mit FS_LIST sollte diese folgendermaßen angepasst werden:
$CMS_FOR(entry, st_cal)$
<a href="#$CMS_VALUE(if(entry.displayName.isEmpty, "st_cal_" + #for.index, entry.displayName))$">Section $CMS_VALUE(#for.index + 1)$</a>
$CMS_END_FOR$
In der Absatzvorlage, die vom Redakteur ausgewählt wird, sollte folgende Syntax als Verweisziel (Anker) ergänzt werden:
$CMS_SET(anchorName, if(displayName.isEmpty, "st_cal_" + #index, displayName))$
<a id="$CMS_VALUE(anchorName)$" name="$CMS_VALUE(anchorName)$"></a>
3) Abbildung der Eingabekomponente CMS_INPUT_LINKLIST
Mithilfe der Eingabekomponente FS_LIST können die Funktionalitäten der Eingabekomponente CMS_INPUT_LINKLIST abgebildet werden.
Bei der Umstellung von CMS_INPUT_LINKLIST auf FS_LIST ist zu beachten, dass wenn Daten mit FS_LIST gespeichert wurden, diese bei einer evtl. späteren Rückkehr aufgrund eines abweichenden Datenformats nicht mehr von CMS_INPUT_LINKLIST gelesen und interpretiert werden können. |
Beispiel-Formular CMS_INPUT_LINKLIST:
<CMS_INPUT_LINKLIST name="BEZEICHNER">
<LANGINFOS>
<LANGINFO lang="*" label="Verweisliste"/>
</LANGINFOS>
<LINKEDITORS>
<LINKEDITOR name="BEZEICHNER"/>
</LINKEDITORS>
</CMS_INPUT_LINKLIST>
Abbildung durch FS_LIST:
<FS_LIST name="BEZEICHNER">
<DATASOURCE type="inline">
<LABELS>
<LABEL lang="*">#item.BEZEICHNER</LABEL>
</LABELS>
<ACTIONS>
<ACTION name="ADD"/>
<ACTION name="REMOVE"/>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="center"/>
<ADD component="stackedview" constraint="hide"/>
</LAYOUT>
<TEMPLATES source="linktemplates">
<TEMPLATE uid="BEZEICHNER"/>
</TEMPLATES>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Verweisliste"/>
</LANGINFOS>
</FS_LIST>
FS_LIST unterstützt für den DATASOURCE-Typ INLINE mit source="LINKTEMPLATES" nur die Auswahl von Verweisen des Typs "genericLink" (siehe auch Kapitel Verweisvorlagen)! Daher wird empfohlen, vor der Verwendung von FS_LIST oder der Migration zu FS_LIST Verweise vom Typ "internalLink", "externalLink" und "contentLink" zu konvertieren. Dazu kann die Konvertierungsfunktion verwendet werden (Kontextmenü von Verweisvorlagen, "Extras" / "Verweisvorlage konvertieren"). |
Mithilfe von #item.BEZEICHNER innerhalb des LABELS / LABEL Tags wird in der Listenübersicht und auf den Balken wie bei CMS_INPUT_LINKLIST der Wert verwendet, der als Verweis-Text eingegeben wird. Um auf den in einer Eingabekomponente der Verweisvorlage gespeicherten Wert zugreifen zu können, wird die Variable (Bezeichner) der betreffenden Eingabekomponente durch einen Punkt getrennt an #item angehängt.
Waren in CMS_INPUT_LINKLIST über die LINKEDITORS / LINKEDITOR Tags Verweisvorlagen definiert, aus denen der Redakteur auswählen konnte, wird dies in FS_LIST nun über
<TEMPLATE uid="BEZEICHNER"/>
definiert. Für jede Verweisvorlage, die zur Auswahl zur Verfügung stehen soll, muss eine solche Definition vorhanden sein. Dabei muss über uid der Referenzname einer Verweisvorlage angegeben werden.