Files
tsv08kulmbach-website/app/pages/kontakt.php
fs 08f5a1ae9b Kontaktseite: eigene /kontakt mit Hero + Formular
Neue /kontakt-Seite (Hero + wiederverwendete contact-form-Komponente, ohne
Intro-Block). Behebt die bisher ins 404 laufenden "Kontakt aufnehmen"-CTAs.

- contact-form: optionales $intro + Rücksprung-Slug $return (Hidden-Feld)
- contact-submit: PRG-Redirect zur absendenden Seite, whitelist-validiert
  gegen routes.php (kein Open-Redirect)
- Verlinkt im Footer-Rechtsbereich und im Menü "Der Verein"

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HGzc6GhWhmLJt1jC2q1SRZ
2026-06-20 21:14:28 +02:00

25 lines
876 B
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
declare(strict_types=1);
/**
* Kontaktseite — Hero + Kontaktformular (dieselbe Komponente wie auf der Startseite).
* Inhalte: data/kontakt.json (Single Source of Truth).
*/
$page = json_load('kontakt');
$meta = [
'title' => 'Kontakt',
'description' => 'Kontakt zum TSV 08 Kulmbach: Schreib uns über das Formular zu Fußball, Turnen oder einem allgemeinen Anliegen. Wir melden uns so schnell wie möglich.',
'og_image' => 'img/pages/vereinsgelaende-1600.jpg',
'scripts' => ['form.js'],
'schema' => page_schema([
['name' => 'Startseite', 'slug' => ''],
['name' => 'Kontakt', 'slug' => 'kontakt'],
]),
];
component('hero', ['hero' => $page['hero']]);
// Kein Intro-Block: Der Hero liefert bereits Überschrift + Teaser, hier folgt nur das Formular.
component('contact-form', ['return' => 'kontakt']);