Templates

Viele Webauftritte bestehen aus einzelnen Webseiten, die untereinander verknüft sind und in der Regel ein gleiches oder ähnliches Erscheinungsbild aufweisen. So gibt es oftmals Strukturen wie eine Navigiationsleiste oder ein Firmenlogo, das auf allen Seiten eingeblendet werden soll. Zudem wird innerhalb einer Webseite meist eine gleiche Farbwahl und Gestaltung bevorzugt. Beim Aufbau einer Webseite gibt es also Teile, die über alle Seiten gleich bleiben.

Über ein Template-System können diejenigen Teile, deren Inhalt sich nicht ändert, ausgelagert werden. Dies bringt im Wesentlichen 2 Vorteile:

  1. Übersichtlichkeit: Beim Bearbeiten einer einzelnen Seite sieht man nur die veränderlichen Teile
  2. Strukturelle Integrität: statische Elemente, die auf allen Seiten angezeigt werden, können an einer zentralen Stelle geändert werden. Die Änderungen sind auf alle Seiten automatisch sichtbar.

Technisch bestehen Webseiten aus (verschachtelten) HTML-Tags, die zusammen eine Seite ergeben. Über das Template-System können die Teile einer Webseite aufgebrochen und in separaten Dateien ausgelagert werden:

<!DOCTYPE html>
<html lang="de">
    
  <head>
    <title>djtb</title>

    <link rel="stylesheet" type="text/css" href="/css/style.css">
    <script src="/js/jquery.js" type="text/javascript"></script>
  </head>
    
  <body>
    
    <!-- Navigationsleiste -->
    <div id="navigation">...</div>
    
    <h1>Überschrift für Template Toolkit Test</h1>

    <p>Fließtext...</p>
    
    <!-- Leiste am unteren Bildschirmrand -->
    <div id="footer">...</div>
    
  </body>
</html>
    

/lib/site/html: allgemeiner Aufbau aller HTML-Seiten

/lib/site/head: z.B. Einbindung von CSS und javascript-Dateien

/lib/site/navigation: z.B. Einbindung von Navigationsleisten

z.B. /src/index.html: der eigentliche Inhalt für eine spezifische Webseite

/lib/site/footer: z.B. Einbindung von Footer-Elementen


 

Aufbau des Template-Systems:

Der Aufbau des von TT2Site genutzen Template-Systems orientiert sich am Badger-Buch und wird so in ähnlicher Form auch von anderen Web-Frameworks (wie z.B. Catalyst) genutzt. Dabei nutzt TT2Site im Wesentlichen folgende Verzeichnisse und Dateien: