Banner-Slider: einspaltiges Layout, Logo oben links, Foto frei
Logo führt die Slide oben links an (statt großer Logo-Platte rechts); Inhalt einspaltig, „Anzeige"/Status-Label als Pille unten rechts in der Fußzeile. Damit gibt die rechte Hälfte das Hintergrundfoto frei — Motivwahl wird viel einfacher. Logo nur rendern, wenn vorhanden; Wappen (Eigenwerbung) etwas größer. Breadcrumb-Slide auf einen CTA reduziert: „Neue Website entdecken" → Startseite. 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:
@@ -61,11 +61,6 @@ $total = count($banners);
|
||||
}
|
||||
$style = $styleParts !== [] ? ' style="' . e(implode('; ', $styleParts)) . '"' : '';
|
||||
?>
|
||||
<li class="<?= e($classes) ?>"<?= $style ?> data-banner-slide role="group" aria-roledescription="Folie" aria-label="<?= ($i + 1) ?> von <?= $total ?>"<?= $i === 0 ? '' : ' hidden' ?>>
|
||||
<div class="ad-banner__content">
|
||||
<span class="ad-banner__tag"><?= e($banner['tag'] ?? 'Anzeige') ?></span>
|
||||
<p class="ad-banner__title"><?= e($banner['title']) ?></p>
|
||||
<p class="ad-banner__text"><?= e($banner['text']) ?></p>
|
||||
<?php
|
||||
// Rendert einen CTA-Link; externe Links öffnen im neuen Tab (rel=sponsored),
|
||||
// interne (cta.internal) bleiben normale Links. $btnClass für Primär/Sekundär.
|
||||
@@ -81,15 +76,24 @@ $total = count($banners);
|
||||
. '</a>';
|
||||
};
|
||||
?>
|
||||
<li class="<?= e($classes) ?>"<?= $style ?> data-banner-slide role="group" aria-roledescription="Folie" aria-label="<?= ($i + 1) ?> von <?= $total ?>"<?= $i === 0 ? '' : ' hidden' ?>>
|
||||
<?php if (!empty($banner['logo'])): ?>
|
||||
<div class="ad-banner__logo<?= !empty($banner['logo_light']) ? ' ad-banner__logo--light' : '' ?>">
|
||||
<img src="<?= e(asset($banner['logo'])) ?>" alt="<?= e($banner['company'] ?? $banner['title']) ?>" loading="lazy" decoding="async">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="ad-banner__content">
|
||||
<p class="ad-banner__title"><?= e($banner['title']) ?></p>
|
||||
<p class="ad-banner__text"><?= e($banner['text']) ?></p>
|
||||
</div>
|
||||
<div class="ad-banner__footer">
|
||||
<?php if (!empty($banner['cta']) || !empty($banner['cta_secondary'])): ?>
|
||||
<div class="ad-banner__actions">
|
||||
<?php $renderCta($banner['cta'] ?? null, 'btn'); ?>
|
||||
<?php $renderCta($banner['cta_secondary'] ?? null, 'btn btn--outline'); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="ad-banner__logo<?= !empty($banner['logo_light']) ? ' ad-banner__logo--light' : '' ?>">
|
||||
<img src="<?= e(asset($banner['logo'])) ?>" alt="<?= e($banner['company'] ?? $banner['title']) ?>" loading="lazy" decoding="async">
|
||||
<span class="ad-banner__tag"><?= e($banner['tag'] ?? 'Anzeige') ?></span>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
|
||||
Reference in New Issue
Block a user