66 lines
3.3 KiB
PHP
66 lines
3.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
declare(strict_types=1);
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Danke-Seite der Stadionzeitung (Live-Seite): der Dank an unsere Partner mit
|
||
|
|
* der Logo-Wand aus data/partners.json (Single Source, dieselbe Quelle wie die
|
||
|
|
* Startseite) und dem QR auf /partner-werden. Gegenstück zur Akquise-Seite
|
||
|
|
* stadionzeitung-partner.php: hier stehen die, die schon dabei sind.
|
||
|
|
*
|
||
|
|
* Vorgeschichte: der Dank war Teil eines Canva-Bilds, das unten an die
|
||
|
|
* Emons-Anzeige geklebt war — eine leere Fläche mit Wappen und zwei Zeilen
|
||
|
|
* (Felix, 03.09.2026: „sieht schrecklich aus"). Seitdem eine echte Seite, die
|
||
|
|
* die Partner auch zeigt statt nur zu erwähnen.
|
||
|
|
*
|
||
|
|
* Die Anzeige oben ist KEIN Bestandteil der Komponente, sondern kommt als Prop:
|
||
|
|
* bin/stadionzeitung-add.php nimmt Anzeigen mit `platzierung: danke` aus dem
|
||
|
|
* Streu-Pool und schreibt das Motiv in den Seiteneintrag. Dadurch ist es in
|
||
|
|
* images[] eingefroren wie jede andere Anzeige — eine veröffentlichte Ausgabe
|
||
|
|
* ändert sich nicht mehr, wenn der Sponsor später ein neues Motiv liefert.
|
||
|
|
*
|
||
|
|
* Props: $anzeige (Varianten-Set {base,widths,alt} oder null)
|
||
|
|
*/
|
||
|
|
$anzeige = (is_array($anzeige ?? null) && !empty($anzeige['base'])) ? $anzeige : null;
|
||
|
|
$partners = json_load('partners')['partners'] ?? [];
|
||
|
|
$qr = is_file(PUBLIC_PATH . '/assets/img/stadionzeitung/qr-partner-werden.png')
|
||
|
|
? 'img/stadionzeitung/qr-partner-werden.png'
|
||
|
|
: null;
|
||
|
|
?>
|
||
|
|
<div class="stadionzeitung-danke">
|
||
|
|
<?php if ($anzeige !== null): ?>
|
||
|
|
<?php component('img', ['image' => $anzeige, 'sizes' => '420px', 'class' => 'stadionzeitung-danke__anzeige']); ?>
|
||
|
|
<?php endif; ?>
|
||
|
|
<header class="stadionzeitung-page__head stadionzeitung-danke__head">
|
||
|
|
<p class="stadionzeitung-page__kicker">Unsere Partner</p>
|
||
|
|
<?php /* Überschrift bewusst OHNE Anrede: Partner sind Unternehmen, die wir mit
|
||
|
|
„Sie" ansprechen (Sprachregel, CLAUDE.md), ein „danke, dass ihr dabei
|
||
|
|
seid" würde sie duzen. „Danke für die Unterstützung" trägt den Dank
|
||
|
|
ohne diesen Konflikt, der CTA darunter bleibt in der Sie-Form. */ ?>
|
||
|
|
<h2 class="stadionzeitung-page__heading">Danke für die Unterstützung</h2>
|
||
|
|
</header>
|
||
|
|
<?php if ($partners !== []): ?>
|
||
|
|
<ul class="stadionzeitung-danke__logos">
|
||
|
|
<?php foreach ($partners as $partner): ?>
|
||
|
|
<?php if (empty($partner['logo'])) { continue; } ?>
|
||
|
|
<li class="stadionzeitung-danke__logo">
|
||
|
|
<img src="<?= e(asset((string) $partner['logo'])) ?>" alt="<?= e((string) ($partner['name'] ?? '')) ?>"<?= img_intrinsic_attrs((string) $partner['logo']) ?> loading="lazy" decoding="async">
|
||
|
|
</li>
|
||
|
|
<?php endforeach; ?>
|
||
|
|
</ul>
|
||
|
|
<?php endif; ?>
|
||
|
|
<div class="stadionzeitung-page__cta">
|
||
|
|
<div class="stadionzeitung-page__cta-text">
|
||
|
|
<p class="stadionzeitung-page__cta-label">Mitmachen</p>
|
||
|
|
<p class="stadionzeitung-page__cta-title">Werden Sie unser Partner</p>
|
||
|
|
<p class="stadionzeitung-page__cta-link"><?= e(club_domain('partner-werden')) ?></p>
|
||
|
|
</div>
|
||
|
|
<?php if ($qr !== null): ?>
|
||
|
|
<div class="stadionzeitung-page__cta-abriss">
|
||
|
|
<img class="stadionzeitung-page__cta-qr" src="<?= e(asset($qr)) ?>" alt="" width="60" height="60" loading="lazy" decoding="async">
|
||
|
|
<span class="stadionzeitung-page__cta-scan">Scan mich</span>
|
||
|
|
</div>
|
||
|
|
<?php endif; ?>
|
||
|
|
</div>
|
||
|
|
</div>
|