6.1.2 Inhalte der Dateien
Last updated
Last updated
Die Template-Datei ist eine XML-Datei, die alle Meta-Informationen zu dem Template beinhaltet, außerdem eine Liste der möglichen benutzerdefinierten Inhalte. Diese Inhalte werden in der Layout-Datei referenziert, teilweise auch in Layout-Dateien anderer Templates, die dieses Template als Teil einer Liste enthalten.
Die Template-Datei hat dabei stets einen beispielhaften Aufbau:
Die einzelnen Elemente im Überblick:
Option
Beschreibung
cms_page_template/id
Ein einzigartiger Identifier-String des Templates, der intern zur Identifikation des Templates verwendet wird
cms_page_template/version
Das Datum der letzten Änderung. Wird vom Goobi viewer Core nicht verwendet sondern dient dem internen Tracking von Änderungen.
name
Der Name des Templates. Dieser wird beim Erstellen neuer Seiten in der Oberfläche angezeigt.
description
Eine Beschreibung des Templates. Diese wird beim Erstellen neuer Seiten in der Oberfläche angezeigt.
icon
Der Dateiname des Icons, das dieses Template beim Erstellen neuer Seiten und beim Bearbeiten vorhandener Seiten repräsentiert; ohne Pfadangabe.
html
Der Dateiname der Layout-Datei für dieses Template; ohne Pfadangabe.
content
Eine Liste von <item>
-Elementen. Jedes dieser Elemente bekommt einen eigenen Editorbereich beim Anlegen/Bearbeiten von CMS-Seiten auf Basis dieses Templates. Die Art des Editorbereichs hängt ab von der Art des Items. Jedes Item hat folgende Attribute:
id: Ein für dieses Template einzigartiger Identifier-String, mit dem dieser Inhalt in der Layout-Datei referenziert wird.
label: Die Bezeichnung dieses Inhaltes im Editorbereich der Seitenbearbeitung.
order: Bestimmt die Reihenfolge in der der Anzeige. Muss Zahlen enthalten. Ist das Attribut nicht gesetzt wird nach der ID sortiert.
type: Der Inhaltstyp, siehe Kapitel 6.4.3.
mandatory: Optionales. Wenn gesetzt und der Wert "true"
dann ist das Feld ein Pflichtfeld.
filter: Optional. Regulärer Ausdruck (regex), um die Medienauswahl auf bestimmte Dateiendungen zu beschränken.
mode: Optional. Schaltet bei bestimmten Inhaltstypen besondere Optionen bei der Seitenerstellung für dieses Item frei. Folgende Modi sind implementiert:
simple: Kein besonderes Verhalten. Default-Wert
expanded: Nur für Inhaltstyp COLLECTION
. Erlaubt erweiterte Einstellungen zur Darstellung der Sammlungsanzeige.
paginated: Nur für Inhaltstyp PAGELILST
. Erlaubt eine Paginierung der Seitenliste.
Die Layout-Datei ist eine XHTML-Datei die das Layout mit JSF beschreibt. Sie ist wie eine übliche Goobi viewer Core Seite aufgebaut, benötigt jedoch für die Anzeige von CMS-Inhalten einige spezielle Annotationen. So muss am Anfang der Seite vor etwaigen CMS-Inhalten die folgende Zeile zwingend existieren:
Dies setzt den Parameter page
, aus dem alle CMS-Inhalte ausgelesen werden. Um einen beliebigen in der Template-Datei definierten Inhalt einzufügen, verwendet man die folgende Notation:
Dabei stellt content01
die id
eines in der Template-Datei definierten Inhaltstyps dar. Der Inhalt wird automatisch je nach Typ eingefügt.
Die Sidebar der Seite muss im Tag <ui:define name=“sidebar“/>
definiert werden. Zur Verwendung benutzderdefinierter Sidebars muss sie folgende Form haben:
Jedes möglicherweise vorkommende Sidebar-Widget muss in der Liste als <widgetComponent>
enthalten sein; der Name des Widgets muss dabei dem Dateinamen der Widget-Komponente entsprechen. Beispielsweise ruft <widgetComponent:widget_user>
das in der Datei /components/widget_user.xhtml
definierte Widget auf.
Hierbei handelt es sich um eine einfache Bilddatei zur Repräsentation des Templates. Das Bild muss quadratische Abmessungen haben. Üblicherweise werden 128x128px große PNG-Dateien verwendet.