Erstellen der erforderlichen Tabellenvorlagen
Unterhalb des Datenbank-Schemas müssen nun die erforderlichen Tabellenvorlagen mit Eingabekomponenten für die im Datenbank-Schema angelegten Tabellenspalten erstellt werden.
Galerie-Tabelle
In dieser Tabelle („Gallery“) werden die Eingabekomponenten für die Pflege von Informationen zur Galerie definiert, z. B.
- FS_LIST: Auswahl von Medien aus der Medien-Tabelle (Bezeichner „tt_medialist“ im Beispiel).
- Dabei ist die Angabe des Tags MEDIAMODE erforderlich. Über dieses Tag wird die Objekt-Auswahl über das „Hinzufügen“-Icon der Eingabekomponente gesteuert.
- Für das Attribut table muss der eindeutige Name der Medien-Tabellenvorlage angegeben werden.
- Für das Attribut mediaEditor muss der eindeutige Bezeichner der Eingabekomponente FS_REFERENCE der Medien-Tabelle (siehe unten) angegeben werden.
- CMS_INPUT_TEXT und CMS_INPUT_TEXTAREA (optional): Eingabe von Namen und Beschreibungen zu den Galerien (Bezeichner „tt_gallery_name“ und „tt_gallery_description“)
- FS_REFERENCE (optional): Auswahl von Teaser-Bildern (Bezeichner „tt_teaser“)
- CMS_INPUT_COMBOBOX (optional): Herstellen von Verbindungen zur Kategorien-Tabelle (Bezeichner „tt_gallery_category“); eine Befüllung aus der Kategorien-Tabelle ist mittels CMS_INCLUDE_OPTIONS möglich.
Medien-Tabelle
In dieser Tabelle („Gallery_Media“) werden die Eingabekomponenten zur Pflege der Medien einer Galerie definiert, z. B.
- FS_REFERENCE: Auswahl von Medien aus der Medien-Verwaltung (Bezeichner „tt_media“ im Beispiel)
- CMS_INPUT_TEXTAREA (optional): Eingabe von Beschreibungstexten zu den Medien (Bezeichner „tt_gallery_media_description“ im Beispiel)
Kategorien-Tabelle (optional)
In dieser Tabelle („Gallery_Category“) wird eine Eingabekomponente zur Eingabe von Kategorien definiert, z. B.
- CMS_INPUT_TEXT: Eingabe von Kategorie-Namen (Bezeichner „tt_gallery_category“ im Beispiel)
Ausgabe
Die Ausgabe erfolgt über eine Content-Projektion (siehe dazu das Kapitel zu Ausgabe und Navigation).
Beispiel-Fomulare
Beispiel: Formular Galerie-Tabelle
<CMS_MODULE>
<CMS_INPUT_TEXT name="tt_gallery_name" hFill="yes" singleLine="no" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Gallery name" description="Set a name for the selected gallery"/>
<LANGINFO lang="DE" label="Galleriename" description="Bitte geben Sie einen Namen für die ausgewählte Galerie an"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
<CMS_INPUT_COMBOBOX
name="tt_gallery_category"
editable="no"
hFill="yes"
singleLine="no"
sortOrder="ascending"
useLanguages="no">
<CMS_INCLUDE_OPTIONS type="database">
<LABELS>
<LABEL lang="*">#item.name</LABEL>
</LABELS>
<TABLE>gallery_categories</TABLE>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Category" description="Gallery category"/>
<LANGINFO lang="DE" label="Kategorie" description="Galeriekategorie"/>
</LANGINFOS>
</CMS_INPUT_COMBOBOX>
<CMS_INPUT_TEXTAREA name="tt_gallery_description" hFill="yes" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Gallery description" description="Gallery description"/>
<LANGINFO lang="DE" label="Galeriebeschreibung" description="Galeriebeschreibung"/>
</LANGINFOS>
</CMS_INPUT_TEXTAREA>
<FS_REFERENCE name="tt_teaser" hFill="yes" imagePreview="yes" upload="yes" useLanguages="no">
<FILTER>
<HIDE type="all"/>
<ALLOW type="picture"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Teaser picture" description="Please choose a medium"/>
<LANGINFO lang="DE" label="Teaser-Bild" description="Bitte wählen Sie ein Medium aus"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>
<FS_LIST name="tt_medialist" hFill="yes" rows="7">
<DATASOURCE type="database" maxEntries="20" useLanguages="no">
<ACTIONS>
<ACTION name="ADD">
<PARAM name="add-index">FIRST</PARAM>
</ACTION>
<ACTION name="NEW">
<PARAM name="create-index">FIRST</PARAM>
</ACTION>
<ACTION name="REMOVE">
<PARAM name="show-confirm">YES</PARAM>
</ACTION>
<ACTION name="UP"/>
<ACTION name="DOWN"/>
<ACTION name="GOTO"/>
<ACTION name="EDIT"/>
</ACTIONS>
<COLUMNS>
<COLUMN show="no">#identifier</COLUMN>
<COLUMN show="yes" width="10">#released</COLUMN>
<COLUMN show="no">#fs_id</COLUMN>
<COLUMN show="yes" width="150">tt_media</COLUMN>
<COLUMN show="yes" width="420">tt_gallery_media_description</COLUMN>
</COLUMNS>
<LAYOUT>
<ADD component="stackedview" constraint="hide"/>
<ADD component="toolbar" constraint="top"/>
<ADD component="overview" constraint="left"/>
<ADD component="simpleview" constraint="right"/>
</LAYOUT>
<MEDIAMODE allowFolders="no" mediaEditor="tt_media"/>
<PERSISTENCEINDEX>order_index</PERSISTENCEINDEX>
<table>gallery_media</table>
</DATASOURCE>
<LANGINFOS>
<LANGINFO lang="*" label="Media"/>
<LANGINFO lang="DE" label="Medien"/>
</LANGINFOS>
</FS_LIST>
</CMS_MODULE>
Beispiel: Formular Medien-Tabelle
<CMS_MODULE>
<FS_REFERENCE name="tt_media" hFill="yes" imagePreview="yes" upload="yes" useLanguages="no">
<FILTER>
<HIDE type="file"/>
<ALLOW type="picture"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Medium" description="Please choose a medium"/>
<LANGINFO lang="DE" label="Medium" description="Bitte wählen Sie ein Medium aus"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>
<CMS_INPUT_TEXTAREA name="tt_gallery_media_description" hFill="yes" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Media description" description="Media description"/>
<LANGINFO lang="DE" label="Medienbeschreibung" description="Medienbeschreibung"/>
</LANGINFOS>
</CMS_INPUT_TEXTAREA>
</CMS_MODULE>
Beispiel: Formular Kategorien-Tabelle
<CMS_MODULE>
<CMS_INPUT_TEXT name="tt_gallery_category" hFill="yes" singleLine="no" useLanguages="yes">
<LANGINFOS>
<LANGINFO lang="*" label="Gallery categorie" description="Insert a gallery category"/>
<LANGINFO lang="DE" label="Galeriekategorie" description="Einfügen einer Galeriekategorie"/>
</LANGINFOS>
</CMS_INPUT_TEXT>
</CMS_MODULE>