Das Layout der Webdokumente mit ihren zahlreichen Funktionen (Menüs, Übersichtslisten, Suche etc.) wird automatisch mithilfe von mehr oder weniger kleinen Programmcode-Schnipseln erzeugt. Diese DTML-Methoden, auch Templates genannt, sind in der Summe zumeist strukturell sehr ähnlich, weil es eine Reihe von typischen Funktionen gibt, die auf einem Webdokument angezeigt werden. Das Schema für die Benamung aller verwendeten DTML-Methoden ist die Grundlage für eine systematische und damit relativ transparente Vereinheitlichung. Die meisten Namen sind nicht zwingend, sondern als Vorschlag zu verstehen.

DTML_templatesZope

Abbildung 66: Zope-Ansicht der DTML-Methoden, die ein Layout erzeugen; die Templatets liegen auf der gleichen Zope-Ebene wie der ZMS-Knoten „content“

Der Vorteil der eingeführten Namenskonvention liegt in einer besseren Orientierung sowie der leichten Austauschbarkeit des Codes zwischen unterschiedlichen Websites. Das ZMS-Schema definiert vier unterschiedliche Template-Kategorien:

  1. Master-Templates (umfassen alle anderen Templates)
  2. Header-Templates (unsichtbares HTML-Segment)
  3. Layout-Templates (sichtbares HTML-Segment)
  4. Funktions-Templates (erzeugen ein einziges Funktions-Element auf der Seite)
ZMS_TemplateSchema2

Abbildung 67: Template-Schema für die funktionale Seitenkonstruktion: der eigentliche Textkörper wird von durch Templates erzeugten HTML-Fragmenten in geschachtelter Weise umschlossen. Der Seitenaufbau bzw. das Layout ergibt sich also durch die Assemblierung sämtlicher Templates vor und hinter dem zentralen Textkörper

MASTERTEMPLATES

  • standard_html_request*: initiale REQUEST Variablen
  • standard_html_header*: alle Templates vor dem Textkörper
  • standard_html_footer*: alle Templates nach dem Textkörper

PAGEREGIONEN / LAYOUT

  • pageregionTop: Kopf des sichtbaren Seitenbereiches
  • pageregionLeft: linke Layout-Säule, quasi vor dem Textkörper
  • pageregionBefore*: direkt vor den Content-Objekten, wird als Teil des Textkörpers (Floating Object) gerendert
  • pageregionAfter*: direkt vor den Content-Objekten, wird als Teil des Textkörpers (Floating Object) gerendert
  • pageregionRight: rechte Layout-Säule, quasi nach dem Textkörper
  • pageregionBottom: Seitenfuß

HTMLHEAD

  • headDoctype*: DOCTYPE Declaration
  • headLinkrelations: LINK Elemente
  • headCSS: STYLE Elemente
  • headBodytag: BODY Element

FUNKTIONALE SEITEN-ELEMENTE

  • pageelement_Logo: Logo
  • pageelement_Menu: Hauptmenü, Horizontalnavigation
  • pageelement_Macronavigation: (zumeist linkseitige) Vertikalnavigation
  • pageelement_Micronavigation: Pfad-Navigation
  • pageelement_Search: Suche (Ergebnisausgabe liefert das Template
  • pageelement_Searchresults)
  • pageelement_Languageselect: Sprach-Auswahl
  • pageelement_Styleselect: Styling-Auswahl
  • pageelement_Headline: Dokument-Titel
  • pageelement_Description: Dokument-Beschreibung
  • pageelement_PageTOC: Dokument Gliederung
  • pageelement_Index: Inhaltsübersicht der untergeordneten Dokumente
  • pageelement_Links: Verwandte Dokumente (Links)
  • pageelement_Teaser: Teaser Elemente
  • pageelement_Copyright: Copyright Informationen

Hinweis: die mit * gekennzeichneten Templates sind namentlich fixiert; tatsächlich erforderlich sind allerdings nur standard_html_header/footer.

Profitipp: eine gute Grundlage für die Erstellung eigener Designs stellen die bei der ZMS-Initialsierungwahrweise verfügbaren Standard-Templatesets dar; anhand des oben dargestellten Namensschemas lassen sich die entsprechenden Layout- und Funktions-Templates rasch identifizieren und anpassen.