Du könntest evtl. auch folgendes probieren:
Ein Modul "Eigener HTML-Code" anlegen mit:
HTML-Code:
<div class="fallback"></div>
Dieses Modul im Seitenlayout VOR dem Artikel/Kopfzeile hinzufügen und ebenfalls der Kopfzeile zuordnen.
Somit ist zumindest sichergestellt, das immer <header>...</header> generiert wird auch wenn gar kein "echter" Artikel für den Bereich Kopfzeile vorliegt.
Angenommen das hero banner muss immer im ersten Artikel im Bereich <header> existieren und das entsprechende Inhaltselement erhält zwingend die CSS-Klasse "hero" könnte die Struktur z.B. so aussehen:
HTML-Code:
<header id="header">
<div class="inside">
<div class="fallback"></div>
<div class="mod_article first block" id="article-20">
<div class="ce_text hero first last block"></div>
</div>
<div class="mod_article last block" id="article-22">
<div class="ce_text first last block"></div>
</div>
</div>
</header>
Mit CSS fragst du jetzt die Existenz der Klasse "hero" im ersten Artikel nach dem "fallback" Container ab - ala:
PHP-Code:
#header .fallback + .mod_article div.hero {
border: 1px solid #008000;
}
#header .fallback + .mod_article div:not(.hero)::before {
display: block;
content: '';
min-height: 20px;
background-color: #ccc;
border: 1px solid #ff0000;
}
Ist diese nicht vorhanden wird entsprechend eine Alternative ausgegeben. Dies bedingt jedoch das immer eine Ausgabe erfolgt.
Was alternativ ausgegeben werden soll (als CSS background-image) könnte man zudem über CSS Klassen des Body Tags steuern ...
Lesezeichen