Leerer srcset-Kandidat macht zehn Bilder unbrauchbar #134
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/leere-srcset-kandidaten"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Behebt den Fehler, durch den auf der Startseite zehn Bilder gar nicht erschienen — darunter beide Goldader-Bilder der Goldprozess-Sektion, also ausgerechnet die Sektion, die die Positionierung trägt. Sie stand live als leerer Rahmen mit Alt-Text da.
Ursache
templates/_components/core/image.twigbaute die srcset-Kandidaten per String-Verkettung. Liefertimage.getUrl(...)zur Renderzeit eine leere URL — was passiert, wenn der Transform noch nicht erzeugt ist — entstand trotzdem ein Kandidat, nur ohne Adresse:Der Browser liest die nackte Breite
750wals URL, läuft in einen Fehler und verwirft das gesamte Bild (naturalWidth === 0).Verschärfend:
config/general.php:49setztgenerateTransformsBeforePageLoad(true), und Blitz cacht das Seiten-HTML. Ein einziger unglücklicher Render friert damit dauerhaft ein — Cache leeren allein ist kein Fix, der Zustand kommt wieder.Änderung
Die URL wird jetzt geholt und geprüft, bevor der Kandidat entsteht; leere Kandidaten fallen weg. Bleibt keiner übrig, wird
srcset/sizesgar nicht ausgegeben statt leer — dafür werden die Variablen explizit aufnullstatt''gesetzt, damit der bestehende??-Fallback und die{% if %}-Bedingung greifen.Verifikation (ausgeführt)
Browser-Prüfung über alle 57 Bilder der Startseite nach vollem Durchscrollen: kein Bild mehr mit
naturalWidth === 0. Zwei Treffer im Zwischenstand waren kein Defekt, sondern verzögertes Laden zweier Slides im Kundenergebnisse-Slider — mit erzwungenemloading="eager"laden beide einwandfrei.Closes #133
🤖 Generated with Claude Code
https://claude.ai/code/session_01Y29GMuZcsumFPpLUh84c8G