Files
tsv08kulmbach-website/app/components/stadionzeitung-beitrag.php

45 lines
2.3 KiB
PHP

<?php
declare(strict_types=1);
/** Redaktioneller Lesetipp. Text/Quelle: Chat-Pflege; Foto/QR: add-Skript. */
$beitrag = $issue['beitrag'] ?? null;
if (!is_array($beitrag)) {
return;
}
$sourceUrl = (string) ($beitrag['source_url'] ?? '');
$validUrl = filter_var($sourceUrl, FILTER_VALIDATE_URL)
&& parse_url($sourceUrl, PHP_URL_SCHEME) === 'https';
$qrPath = 'img/stadionzeitung/' . (string) ($issue['slug'] ?? '') . '/qr-beitrag.png';
?>
<div class="stadionzeitung-beitrag">
<header class="stadionzeitung-page__head">
<p class="stadionzeitung-page__kicker"><?= e((string) ($beitrag['kicker'] ?? 'Lesetipp')) ?></p>
<h2 class="stadionzeitung-page__heading"><?= e((string) ($beitrag['heading'] ?? '')) ?></h2>
</header>
<span class="stadionzeitung-page__rule" aria-hidden="true"></span>
<figure class="stadionzeitung-beitrag__figure">
<?php component('img', ['image' => $beitrag['image'] ?? [], 'sizes' => '(min-width: 520px) 430px, 90vw', 'class' => 'stadionzeitung-beitrag__foto', 'eager' => $eager ?? false]); ?>
<figcaption class="stadionzeitung-rueckblick__credit"><?= e((string) ($beitrag['image_credit'] ?? '')) ?></figcaption>
</figure>
<?php foreach ($beitrag['paragraphs'] ?? [] as $paragraph): ?>
<p class="stadionzeitung-vorwort__text"><?= e((string) $paragraph) ?></p>
<?php endforeach; ?>
<p class="stadionzeitung-beitrag__source"><?= e((string) ($beitrag['source'] ?? '')) ?></p>
<?php if ($validUrl): ?>
<a class="stadionzeitung-page__cta" href="<?= e($sourceUrl) ?>" target="_blank" rel="noopener noreferrer">
<div class="stadionzeitung-page__cta-text">
<p class="stadionzeitung-page__cta-label"><?= e((string) ($beitrag['cta_label'] ?? 'Lesetipp')) ?></p>
<p class="stadionzeitung-page__cta-title">Den vollständigen Beitrag lesen</p>
<p class="stadionzeitung-page__cta-link"><?= e((string) parse_url($sourceUrl, PHP_URL_HOST)) ?></p>
</div>
<?php if (is_file(PUBLIC_PATH . '/assets/' . $qrPath)): ?>
<div class="stadionzeitung-page__cta-abriss">
<img class="stadionzeitung-page__cta-qr" src="<?= e(asset($qrPath)) ?>" alt="QR-Code zum Originalartikel" width="100" height="100" loading="lazy" decoding="async">
<span class="stadionzeitung-page__cta-scan">Zum Artikel</span>
</div>
<?php endif; ?>
</a>
<?php endif; ?>
</div>