Seitenaufbau
Zuletzt geändert: 12.03.2026 16:28

Seitenaufbau #

Interne Webseiten folgen einem einheitlichen Layout, das über Server Side Includes (SSI) zusammengesetzt wird. EULANDA verarbeitet die SSI-Direktiven vor der Auslieferung an den eingebetteten Browser.

Standard-Seitengerüst #

Fast alle Hauptseiten verwenden dieses Muster:

<!--#SET VAR="PG_NAME" value="meinseite"-->
<!--#SET VAR="PG_TITLE" value="Meine Seite"-->
<!--#INCLUDE VIRTUAL="/include/page-head.inc" PATCH=SSI-->
<!--#INCLUDE VIRTUAL="/include/side-nav.htm"-->
<!--#INCLUDE VIRTUAL="/include/page-content.inc" PATCH=SSI-->
</body>
<!--#INCLUDE VIRTUAL="/include/page-customscripts.inc" PATCH=REPLACE-->
<script>
  // Seitenspezifisches JavaScript
</script>
</html>

Die Include-Dateien liegen unter \MODULES\WEB\include\:

DateiInhalt
page-head.incHTML-Head (<title>, CSS, forms.js), Body-Start, Info-Message-Block
side-nav.htmLinke Navigation (26em breit, #mySidenav)
page-content.incInhaltsbereich mit zwei w3-half-Spalten (mnuClientLeft, mnuClientRight)
page-content-fullsize.incInhaltsbereich ohne Spaltenteilung (nur mnuClientLeft)
page-customscripts.incLädt benutzerspezifische JS-Dateien aus ALLUSER/customize_web/ und CURRENTUSER/customize_web/

SSI-Direktiven #

DirektiveFunktion
<!--#SET VAR="name" value="wert"-->Variable setzen
<!--#ECHO VAR="name"-->Variable ausgeben
<!--#INCLUDE VIRTUAL="/pfad"-->Datei einbinden

PATCH-Modi bei INCLUDE #

ModusVerhalten
PATCH=SSI<!--#ECHO VAR="..."> im Include durch gesetzte Variablen ersetzen
PATCH=REPLACE%VARNAME%-Platzhalter im Include durch gesetzte Variablen ersetzen
(ohne PATCH)Datei unverändert einbinden

Layout-Struktur #

Das Standard-Layout besteht aus drei Bereichen:

┌─────────────────────────────────────────────────────────┐
│  Sidenav (#mySidenav)  │  Hauptbereich (.w3-main)      │
│  Breite: 26em           │  margin-left: 26em            │
│                         │                               │
│  ┌───────────────────┐  │  ┌─────────────┬────────────┐ │
│  │ #mnuNav           │  │  │ mnuClient-  │ mnuClient- │ │
│  │ (Menü-Einträge)   │  │  │ Left        │ Right      │ │
│  └───────────────────┘  │  │ (w3-half)   │ (w3-half)  │ │
│                         │  └─────────────┴────────────┘ │
└─────────────────────────────────────────────────────────┘

Auf kleineren Viewports wird die Navigation ausgeblendet und über einen Hamburger-Button (w3_open()) eingeblendet.

CSS-Hierarchie #

Die CSS-Dateien werden in dieser Reihenfolge geladen:

  1. designs/w3.css — W3CSS Basis-Framework (v2.74)
  2. designs/w3eulanda.css.esx — EULANDA-spezifische Anpassungen (mit ESX-Platzhaltern für Benutzerfarben)
  3. designs/w10.css.esx — Windows 10-Style Anpassungen
  4. Benutzerspezifische CSS — aus /ALLUSER/ und /CURRENTUSER/

Der Einstiegspunkt w3eulanda.css importiert die Kette automatisch.

Responsive Breakpoints #

Die Breakpoints sind in designs/fix-w3.css definiert und verwenden em-Einheiten für bessere Skalierung auf hochauflösenden Displays:

ViewportNavigationSpalten
> 80em26em (Standard)nebeneinander
70–80em24emnebeneinander
< 70em22emuntereinander

Benutzerspezifische Skripte #

Über page-customscripts.inc werden automatisch benutzerdefinierte JavaScript-Dateien geladen. Das System sucht nach:

  1. ALLUSER/customize_web/%PG_NAME%.js — gilt für alle Benutzer
  2. CURRENTUSER/customize_web/%PG_NAME%.js — gilt nur für den angemeldeten Benutzer

%PG_NAME% wird durch den Wert der SSI-Variable PG_NAME ersetzt. Damit können Solution-Partner und Endkunden einzelne Seiten erweitern, ohne die Original-Dateien zu verändern.