Vier Darstellungen fuer die Beitragsliste
CMS quality / php (8.2) (push) Canceled after 0s
CMS quality / php (8.4) (push) Canceled after 0s
CMS quality / browser (push) Canceled after 0s
CMS quality / mysql (push) Canceled after 0s

Karten (Raster mit Bild oben), Liste (Bild links, Text rechts), Kompakt
(nur Titel und Datum) und Wechselseitig (Bild mal links, mal rechts).
Dieselben Daten, dasselbe Markup - nur eine Klasse wechselt.

Die erste Fassung von "Wechselseitig" war ein umgedrehter Flexkasten und
sah auch so aus. Jetzt sitzt das Bild in einer Karte mit Ecken, Schatten
und festem Verhaeltnis, der Text hat eine Nummer aus einem CSS-Zaehler,
eine begrenzte Zeilenlaenge und einen sichtbaren Verweis, und zwischen den
Reihen liegt eine feine Linie.

Zwei Details: die Karte ist das Listenelement, also zaehlt :nth-child auf
ihr - die erste Fassung wechselte deshalb gar nicht. Und die Umkehrung
laeuft ueber order statt row-reverse, damit auf dem Telefon sauber wieder
Bild ueber Text steht.

Geprueft: 399 Tests unter PHP 8.2 und 8.4, 18 JS-Tests, Editortest,
Browserpruefung, axe ohne Verstoss auf allen vier Darstellungen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
kantarciandClaude Opus 5 committed 2026-09-13 11:34:06 +02:00
1 parent 84e88c6636
commit 0d6c1a17af
11 files changed
+88 -6

No files matched your search

+8
View File
@@ -145,6 +145,14 @@ final class DocumentValidator
// und Kategorie gehören in ein Blogarchiv und lassen eine Projektseite falsch
// aussehen. Voreinstellung ist der alte Zustand, damit bestehende Seiten sich nicht
// ändern, wenn niemand etwas einstellt.
if (isset($props['layout'])) {
// Drei Darstellungen für dieselben Daten: Raster aus Karten, Liste mit Bild
// daneben, und eine reine Titelliste. Welche passt, hängt vom Ort ab - ein
// Projektraster auf der Startseite, eine Liste im Archiv, eine Titelliste in
// einer Randspalte.
$this->require($schemaVersion >= 18, 'Die Darstellung der Beitragsliste braucht Schema v18.');
$this->require(in_array($props['layout'], ['karten', 'liste', 'kompakt', 'wechsel'], true), 'Unbekannte Darstellung der Beitragsliste.');
}
if (isset($props['paginate'])) {
// Eine Auswahl zeigt die ersten n und hört auf. Eine Übersicht blättert - sonst
// verschweigt sie, dass es mehr gibt. Das ist die eigene Regel aus Arbeitspaket M.