Konzept

Das Web-Framework nimmt dem Web-Autor viel Handarbeit ab, indem es gewisse Prozesse übernimmt. Dies gilt insbesondere für die Erzeugung der Navigations-Menüs.

Das Konzept basiert auf 3 Haupt-Komponenten:

  1. Die Sitestruktur wird zentral als verschachtelte Liste definiert, alle Links (insb. jene in Menüs) werden automatisch erzeugt und bei Änderungen nachgeführt.
  2. Seiten- oder Layout-Templates ermöglichen, dass die eigentlichen Seiteninhalte unabhängig sind von der Gestaltung der ganzen Seite.
  3. Ein universeller Text-Ersetzungs-Mechanismus fügt die verschiedenen Bausteine dynamisch zusammen, bevor sie an den Browser ausgeliefert werden.

Systemdateien

Um zu ermöglichen, dass der Web-Autor bzw. Web-Programmierer weiterhin mit seinen bevorzugten Tools (z.B. Dreamweaver) arbeiten kann, werden für Konfigurations- und Systemdaten Standardformate, wie HTML, PHP oder INI verwendet:
 

Bedeutung Format Ort (bzw. Dateiname)
Layout-Template HTML-Seite _layout/
Seiteninhalte HTML-Seite Haupt- oder Unterverzeichnisse (z.B. en/)
Konfigurationsdaten Ini-Datei _set/_parameters.ini
Site-Struktur HTML-Seite _set/_site_stricture.html
Textbausteine
(insb. mehrsprachige)
Ini-Datei(en) _set/_text_resources.ini
Macros PHP-Dateien _code/
Seiten-Bausteine
(z.B. Marginalie)
PHP- oder HTML-Seite Z.B. _code/ (für PHP) oder de/ (für HTML)

Ersetzungsmechanismus

Der universelle Text-Ersetzungsmechanismus bildet das Rückgrat des WFW. Er sorgt dafür, dass die diversen Komponenten, aus welchen eine Seite aufgebaut ist, richtig zusammengesetzt werden.

Das läuft etwa so:

Man nehme eine Webseite und ersetze alle Bereiche, die sich von Seite zu Seite ändern mit einem Platzhalter. Dies sind z.B. das Hauptmenü oben, das Untermenü links und der eigentliche Seiteninhalt in der Mitte unten.

Ein solcher Platzhalter sieht beispielsweise so aus: `top-menu`

(Achtung: die Anführungszeichen sind entscheidend, dass der Platzhalter als solcher erkannt wird!)

 

Bleibt die Frage, woher die Inhalte der Platzhalter kommen. Es sind dies im Wesentlichen zwei Quellen:

  1. Statische Text-Ressourcen, welche in INI-Dateien definiert sind.
    So werden z.B. die Meta-Daten der HTML-Seiten oft aus einer Konfigurationsdatei verwendet, anstatt diese direkt in das Template zu schreiben. Da die Text-Ressourcen-Dateien ohne weiteres Zutun auch mehrsprachige Texte und Textbausteine enthalten können, ist dies nebenbei auch noch der Trick, mit dem sehr einfach mehrsprachige Websites aufgebaut werden können.
    (Standard-Datei: _set/_text_resources.ini)
  2. Dynamische Textbausteine, welche durch PHP-Code erzeugt werden.
    Das WFW führt alle PHP-Dateien aus, welche sich im Ordner _extensions/ befinden (sofern diese gewissen Richtlinien entsprechen). Auf diese Weise kann ein Web-Programmierer eigene Erweiterungen in PHP schreiben, ohne viel über das WFW zu wissen.
    Im Ordner _code/ sind PHP-Dateien abgelegt, die nicht automatisch aufgerufen werden. Ihr Aufruf wird in der Site-Structure (_set/site-structure.html) definiert.