Unterseiten: Fußball-Übersicht, Mannschaften, Jugend, Verein, Rechtliches

Neue Seiten + Routen: fussball, fussball/{erste-mannschaft,zweite-mannschaft,
damen}, jugendfussball, verein, impressum, datenschutz. Dazu die Komponenten
team, team-cards/-roster/-photo/-bento, faq/faq-contact, key-facts, age-groups,
cta-band, training-location und der contact-slider.

Daten in teams/fussball/jugend/verein.json; club.json um Vorstand, Bankdaten,
Datenschutz-Kontakt erweitert. person-grid bekommt $names-Filter, partner-grid
einen Intro-Stil. Seiten setzen $meta['schema'] via team_/page_schema.
Styles für alle neuen Komponenten in components.css.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KDQZ6FuchNUh2bxSW9PeNv
This commit is contained in:
2026-06-19 08:13:04 +02:00
parent a933b76c4f
commit 3b6f630a72
81 changed files with 2513 additions and 78 deletions

53
app/pages/fussball.php Normal file
View File

@@ -0,0 +1,53 @@
<?php
declare(strict_types=1);
/**
* Fußball-Übersichtsseite (Hub). Inhalt: data/fussball.json + data/teams.json.
* Struktur: Hero → Mannschafts-Karten → Ansprechpartner → CTA → FAQ.
*/
$page = json_load('fussball');
$teams = json_load('teams');
// Karten verlinken auf die vier Unterseiten (3 Senior + Jugend).
$cards = [
['name' => '1. Mannschaft', 'slug' => 'fussball/erste-mannschaft', 'category' => 'Herren', 'league' => 'Kreisklasse', 'image' => $teams['erste-mannschaft']['team_photo']['image'] ?? $teams['erste-mannschaft']['hero']['image']],
['name' => '2. Mannschaft', 'slug' => 'fussball/zweite-mannschaft', 'category' => 'Herren', 'image' => $teams['zweite-mannschaft']['hero']['image']],
['name' => 'Damenmannschaft', 'slug' => 'fussball/damen', 'category' => 'Damen', 'image' => $teams['damen']['hero']['image']],
['name' => 'Jugendfußball', 'slug' => 'jugendfussball', 'category' => 'G- bis C-Jugend', 'image' => [
'base' => 'img/pages/jugendfussball-hero', 'widths' => [640, 1000, 1440], 'alt' => 'Jugendfußball des TSV 08 Kulmbach',
]],
];
$meta = [
'title' => 'Fußball in Kulmbach',
'description' => 'Herren-, Damen- und Jugendfußball beim TSV 08 Kulmbach: erste und zweite Mannschaft auf Kreisklasse-Niveau, Damenmannschaft und Nachwuchs aktiv werden im Katzbachtal.',
'og_image' => 'img/pages/fussball-hero-1600.jpg',
'schema' => page_schema(
[
['name' => 'Startseite', 'slug' => ''],
['name' => 'Fußball', 'slug' => 'fussball'],
],
$page['faq'] ?? []
),
];
component('hero', ['hero' => $page['hero']]);
component('team-cards', [
'teams' => $cards,
'intro' => $page['mannschaften_intro'] ?? '',
'title_hidden' => true,
'intro_below' => true,
]);
component('person-grid', [
'departments' => ['Herrenfußball', 'Damenfußball'],
// Auf dem Hub bewusst nur die beiden Haupt-Ansprechpartner (mannschaftsspezifische
// Zusatzkontakte wie Rustem erscheinen auf der jeweiligen Team-Seite).
'names' => ['Benedikt Höfner', 'Sam Kern'],
'title' => 'Ansprechpartner Fußball',
'intro' => 'Fragen zu Training, Probetraining oder einem Wechsel? Sprich direkt unsere Verantwortlichen an.',
'anchor' => 'kontakt',
]);
component('faq', ['faq' => $page['faq'] ?? []]);