RG-Template
Einleitung
Das RG-Template ist das zentrale Website-Template für alle Angebote der RadioGruppe Deutschland (RGDE) – inklusive der regionalen Seiten (Nord, Ost, Süd, West). Es sorgt für ein einheitliches, modernes und wartbares Webdesign.
Warum ein Template?
Ein gemeinsames Template stellt sicher, dass alle Seiten gleich aussehen, einfach gepflegt werden können und neue Inhalte schnell integriert werden. Änderungen am Design oder an zentralen Funktionen müssen nur einmal im Template vorgenommen werden und gelten dann für alle Seiten.
Was bietet das RG-Template?
- Einheitliches Layout für alle Projekte der RadioGruppe
- Zentrale Verwaltung von Design, Navigation und Footer
- Responsive Darstellung für Mobilgeräte und Desktop
- Einfache Einbindung von Bildern, Styles und Scripten über das CDN
Grundprinzip & Aufbau
-
Gleiches Grundgerüst für alle Seiten:
Jede Seite – egal ob Hauptseite oder regionale Unterseite – verwendet die gleiche HTML-Struktur. Das erleichtert die Pflege und sorgt für ein konsistentes Nutzererlebnis. -
Zentrale Einbindung von Design und Funktionen:
Alle Stylesheets, Bilder und Scripte werden über das zentrale CDN geladen. Dadurch sind sie immer aktuell und müssen nicht auf jeder Seite einzeln gepflegt werden. -
Struktur einer Seite:
Jede Seite besteht aus:- einem vollständigen
<head>-Bereich (mit allen Meta-Tags, Stylesheets und CDN-Links) - einem
<body>mit folgenden Elementen:<div id="header"></div>– wird per JavaScript mit dem zentralen Header-Menü gefüllt<section class="hero">...</section>– ein großes Titelbild mit Überschrift<main>...</main>– hier kommen die individuellen Inhalte deiner Seite hinein<div id="footer"></div>– wird per JavaScript mit dem zentralen Footer gefüllt
- einem vollständigen
Beispiel für das Grundgerüst:
<body>
<div id="header"></div>
<section class="hero" style="background-image: url('https://cdn.radiogruppe.de/files/images/hero.jpg');">
<div class="hero-content">
<h1>Mein Projekttitel</h1>
</div>
</section>
<main>
<!-- Eigene Inhalte hier einfügen -->
</main>
<div id="footer"></div>
</body>
CDN & zentrale Assets
-
Was ist das CDN?
Das CDN (Content Delivery Network) ist ein zentraler Speicherort für alle gemeinsam genutzten Dateien wie Bilder, Stylesheets und Scripte. Die Adresse lautet:
https://cdn.radiogruppe.de/ -
Vorteile:
- Alle Seiten greifen immer auf die aktuellsten Versionen der Dateien zu.
- Du musst keine Assets lokal speichern oder aktualisieren.
- Die Ladezeiten sind durch das CDN optimiert.
-
Wie binde ich Assets ein?
-
Stylesheet einbinden:
<link href="https://cdn.radiogruppe.de/files/styles/main/styles.css" rel="stylesheet"> -
Bild einbinden:
<img src="https://cdn.radiogruppe.de/files/images/intern/favicon.png" alt="Logo"> -
JavaScript einbinden:
<script src="https://cdn.radiogruppe.de/files/scripts/main.js"></script>
-
Stylesheet einbinden:
Tipp: Verwende immer die vollständige CDN-URL, damit die Dateien unabhängig vom Speicherort deiner Seite geladen werden.
Neue Seite anlegen
-
Neuen Ordner anlegen:
Erstelle für dein Projekt einen eigenen Ordner, z.B.mein-projekt/. -
index.html erstellen:
Lege darin eine Dateiindex.htmlan. -
Head-Bereich übernehmen:
Kopiere den gesamten<head>-Bereich einer bestehenden Seite. Achte darauf, alle Meta-Tags, Stylesheets, CDN-Links und Scripte zu übernehmen. -
Body-Struktur einhalten:
Im<body>müssen folgende Elemente enthalten sein:<div id="header"></div>– Platzhalter für das Menü<section class="hero">...</section>– Titelbild und Überschrift<main>...</main>– deine Inhalte<div id="footer"></div>– Platzhalter für den Footer
-
Scripte für Header/Footer einfügen:
Am Ende des<body>müssen die Scripte stehen, die Header und Footer automatisch nachladen:
<script>
fetch('/static/header.html').then(res => res.text()).then(data => document.getElementById('header').innerHTML = data);
fetch('/static/footer.html').then(res => res.text()).then(data => document.getElementById('footer').innerHTML = data);
</script> -
Seite im Menü eintragen:
Öffnestatic/header.htmlund füge einen Link zu deiner neuen Seite hinzu, damit sie im Hauptmenü erscheint.
Beispiel:
<li><a href="/mein-projekt/">Mein Projekt</a></li>
Beispiel für eine neue Seite:
<!DOCTYPE html>
<html lang="de">
<head>
<!-- ...Meta-Tags, Stylesheets, CDN-Links... -->
</head>
<body>
<div id="header"></div>
<section class="hero" style="background-image: url('https://cdn.radiogruppe.de/files/images/hero-projekt.jpg');">
<div class="hero-content">
<h1>Mein Projekt</h1>
</div>
</section>
<main>
<p>Hier steht der Inhalt deiner neuen Seite.</p>
</main>
<div id="footer"></div>
<script src="/assets/js/main.js"></script>
<script>
fetch('/static/header.html').then(res => res.text()).then(data => document.getElementById('header').innerHTML = data);
fetch('/static/footer.html').then(res => res.text()).then(data => document.getElementById('footer').innerHTML = data);
</script>
</body>
</html>
Struktur einer Seite
Jede Seite folgt einer festen Struktur. Das sorgt für Übersichtlichkeit und erleichtert die Wartung. Hier ein vollständiges Beispiel:
<!DOCTYPE html>
<html lang="de">
<head>
<!-- ALLE Meta-Tags, Stylesheets und CDN-Links -->
</head>
<body>
<div id="header"></div>
<section class="hero" style="background-image: url('https://cdn.radiogruppe.de/files/images/hero.jpg');">
<div class="hero-content">
<h1>Seitentitel</h1>
</div>
</section>
<main>
<!-- Eigene Inhalte -->
</main>
<div id="footer"></div>
<button id="back-to-top"><i class="fa-solid fa-angle-up"></i></button>
<script src="/assets/js/main.js"></script>
<script>
fetch('/static/header.html').then(res => res.text()).then(data => document.getElementById('header').innerHTML = data);
fetch('/static/footer.html').then(res => res.text()).then(data => document.getElementById('footer').innerHTML = data);
</script>
</body>
</html>
Hinweis: Die hero-Section kann für jede Seite individuell gestaltet werden, z.B. mit einem eigenen Bild und Titel.
Header, Footer & Hero
-
Header:
Der Header wird automatisch perfetch('/static/header.html')geladen. Das Menü pflegst du zentral instatic/header.html. So bleibt die Navigation auf allen Seiten identisch.
Maximal 7 Links sollten im Menü stehen, damit es übersichtlich bleibt. -
Footer:
Auch der Footer wird zentral verwaltet (static/footer.html). Hier kannst du rechtliche Hinweise, Kontaktinfos oder Social-Media-Links eintragen. -
Hero Section:
Jede Seite kann ein eigenes Titelbild und eine eigene Überschrift bekommen. Diehero-Section steht direkt unter dem Header und sorgt für einen starken ersten Eindruck.
Beispiel:
<section class="hero" style="background-image: url('https://cdn.radiogruppe.de/files/images/hero-spezial.jpg');"> <div class="hero-content"> <h1>Spezialthema</h1> </div> </section>
Best Practices
-
Immer den vollständigen
<head>-Bereich übernehmen:
So stellst du sicher, dass alle Meta-Tags, Styles und Scripte korrekt eingebunden sind. -
Assets immer über das CDN einbinden:
Das garantiert, dass alle Seiten immer die aktuellen Dateien nutzen. -
Struktur im
<body>einhalten:
Die Reihenfolgeheader→hero→main→footersorgt für Übersichtlichkeit. -
Navigation und Footer nur zentral pflegen:
Änderungen am Menü oder Footer immer instatic/header.htmlbzw.static/footer.htmlmachen. -
Eigene Inhalte immer im
<main>-Bereich einfügen:
So bleibt die Seite übersichtlich und der zentrale Aufbau erhalten. -
Vor dem Veröffentlichen testen:
Prüfe lokal, ob Header und Footer korrekt geladen werden und alle CDN-Assets funktionieren. -
Barrierefreiheit beachten:
Verwendealt-Texte für Bilder und sinnvolle Überschriften-Strukturen (h1,h2, ...). -
Responsives Design:
Teste deine Seite auf verschiedenen Geräten (Desktop, Tablet, Smartphone), um sicherzustellen, dass alles korrekt dargestellt wird.
Weitere Tipps:
- Verwende sprechende Dateinamen und Ordnerstrukturen.
- Halte den Code sauber und gut lesbar (Einrückungen, Kommentare).
- Nutze die bestehenden Seiten als Vorlage für neue Projekte.