Bloecke auf Unterseiten isoliert und mit Props inkludieren #138

Merged
Phil merged 1 commit from feat/referenzenseite into main 2026-09-10 08:49:34 +00:00
Owner

Code-Teil der Referenzenseite (#137). Die inhaltliche Arbeit — neue Seite, Anriss auf der Startseite, Navigation — liegt in der Datenbank und ist unten dokumentiert.

Die Änderung

templates/_components/core/content.twig reichte weder block noch siteSettings bewusst durch und inkludierte ohne only. Die Block-Templates funktionierten auf Unterseiten nur, weil siteSettings zufällig aus dem umgebenden Scope durchsickerte — eine stille Abhängigkeit. Beim columnsSection hängt daran der Kunden-Streifen, der sonst ohne Fehlermeldung verschwindet.

Angeglichen an content-home.twig: .eagerly() gegen N+1, explizite Props, only-Include. Die packageStartPrice-Sonderlogik bleibt der Startseite vorbehalten.

Verifikation (ausgeführt)

/referenzen und /en/case-studies liefern 200, sechs Fallkarten rendern, und der Kunden-Streifen erscheint — genau der Test, den der Fix adressiert. /impressum und /oberflaechlich-digitalisiert-oder-durchdacht unverändert 200.

Inhaltsstand in der lokalen Datenbank

Diese Änderungen sind kein Project-Config-Inhalt und gehen nicht über Git nach Prod. Sie brauchen einen DB-Push.

  • Neuer Eintrag Referenzen (id 36576) in unterseiten, DE /referenzen, EN /en/case-studies, mit einer Kopie des Kundenergebnisse-Blocks in voller Länge (6 Fälle).
  • Startseite: der Fließtext in den sechs Fallkarten wurde geleert — er lebt jetzt auf der Referenzenseite. Überschrift, Kennzahl und die drei Stichpunkte je Karte bleiben. Sektion von 872 auf 277 Wörter, 2.917 auf 2.206 px.
  • Der Knopf dieser Sektion zeigt jetzt auf die Referenzenseite statt ein weiteres Mal auf die Buchung. Begründung: an dieser Stelle ist „alle Fälle ansehen" der nächste Schritt, und die Buchung steht kurz darauf erneut. Von zehn Buchungs-Knöpfen auf der Seite entfällt damit einer.
  • Header und Footer: der Punkt „Branchen" zeigte auf den Anker #referenzen, also auf das Branchen-Laufband. Er ist jetzt „Referenzen" und zeigt auf die neue Seite — das ist zugleich die Navigation, ohne die eine Unterseite unauffindbar bleibt (siehe die bestehende Kampagnenseite, die in keinem Menü auftaucht).

Ebenfalls in der Datenbank: Reihenfolge und Kürzung der Startseite

  • Goldprozess von Platz 7 auf Platz 2. Kundenergebnisse folgen den Videos. Das Schluss-Banner steht jetzt hinter der FAQ, damit die Seite endet statt aufzuhören.
  • Deaktiviert (nicht gelöscht, Inhalt bleibt erhalten): „Typische Probleme im Tagesgeschäft", Vergleich Sand/Uhrwerk, Branchen-Laufband, Zitat-Sektion.

Wirkung, gemessen: 24,4 → 17,3 Bildschirme Desktop (21.947 → 15.527 px), 2.725 → 1.480 Wörter, 16 → 12 Sektionen. Gate balance kippt von FAIL (27,7 %) auf PASS (9,4 %). section_forms verbessert sich deutlich (split 9× → 6×, card_grid 6× → 5×), bleibt aber FAIL.

Ein DB-Backup liegt unter backups/pre-referenzen_20260910_1035.sql.gz.

Noch offen

Das Gate reduced_motion steht bei 390 px auf 2,09 % (Schwelle 2 %). Ursache ist nicht die Bildsequenz, sondern ein Layout-Sprung: die Sektion „Wer ist Philipp Lütje" wächst beim Laden ihres Bildes um 58 px, wodurch alles darunter gegen die Referenzaufnahme versetzt ist. Der Grund liegt in _components/core/image: bei mode: fit werden die angeforderten Maße als width/height ausgegeben, obwohl das erzeugte Bild ein anderes Seitenverhältnis hat (_600x1000_fit liefert tatsächlich 526×1000, _850x1000_fit liefert 618×1000). Das betrifft jedes fit-Bild der Seite. Eigenes Issue folgt.

Closes #137

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y29GMuZcsumFPpLUh84c8G

Code-Teil der Referenzenseite (#137). Die inhaltliche Arbeit — neue Seite, Anriss auf der Startseite, Navigation — liegt in der Datenbank und ist unten dokumentiert. ## Die Änderung `templates/_components/core/content.twig` reichte weder `block` noch `siteSettings` bewusst durch und inkludierte ohne `only`. Die Block-Templates funktionierten auf Unterseiten nur, weil `siteSettings` zufällig aus dem umgebenden Scope durchsickerte — eine stille Abhängigkeit. Beim `columnsSection` hängt daran der Kunden-Streifen, der sonst ohne Fehlermeldung verschwindet. Angeglichen an `content-home.twig`: `.eagerly()` gegen N+1, explizite Props, `only`-Include. Die `packageStartPrice`-Sonderlogik bleibt der Startseite vorbehalten. ## Verifikation (ausgeführt) `/referenzen` und `/en/case-studies` liefern 200, sechs Fallkarten rendern, **und der Kunden-Streifen erscheint** — genau der Test, den der Fix adressiert. `/impressum` und `/oberflaechlich-digitalisiert-oder-durchdacht` unverändert 200. ## Inhaltsstand in der lokalen Datenbank Diese Änderungen sind **kein** Project-Config-Inhalt und gehen nicht über Git nach Prod. Sie brauchen einen DB-Push. - Neuer Eintrag `Referenzen` (id 36576) in `unterseiten`, DE `/referenzen`, EN `/en/case-studies`, mit einer Kopie des Kundenergebnisse-Blocks in voller Länge (6 Fälle). - Startseite: der Fließtext in den sechs Fallkarten wurde geleert — er lebt jetzt auf der Referenzenseite. Überschrift, Kennzahl und die drei Stichpunkte je Karte bleiben. Sektion von 872 auf 277 Wörter, 2.917 auf 2.206 px. - Der Knopf dieser Sektion zeigt jetzt auf die Referenzenseite statt ein weiteres Mal auf die Buchung. Begründung: an dieser Stelle ist „alle Fälle ansehen" der nächste Schritt, und die Buchung steht kurz darauf erneut. Von zehn Buchungs-Knöpfen auf der Seite entfällt damit einer. - Header und Footer: der Punkt „Branchen" zeigte auf den Anker `#referenzen`, also auf das Branchen-Laufband. Er ist jetzt „Referenzen" und zeigt auf die neue Seite — das ist zugleich die Navigation, ohne die eine Unterseite unauffindbar bleibt (siehe die bestehende Kampagnenseite, die in keinem Menü auftaucht). ## Ebenfalls in der Datenbank: Reihenfolge und Kürzung der Startseite - Goldprozess von Platz 7 auf Platz 2. Kundenergebnisse folgen den Videos. Das Schluss-Banner steht jetzt hinter der FAQ, damit die Seite endet statt aufzuhören. - Deaktiviert (nicht gelöscht, Inhalt bleibt erhalten): „Typische Probleme im Tagesgeschäft", Vergleich Sand/Uhrwerk, Branchen-Laufband, Zitat-Sektion. **Wirkung, gemessen:** 24,4 → **17,3 Bildschirme** Desktop (21.947 → 15.527 px), 2.725 → **1.480 Wörter**, 16 → 12 Sektionen. Gate `balance` kippt von FAIL (27,7 %) auf **PASS (9,4 %)**. `section_forms` verbessert sich deutlich (split 9× → 6×, card_grid 6× → 5×), bleibt aber FAIL. Ein DB-Backup liegt unter `backups/pre-referenzen_20260910_1035.sql.gz`. ## Noch offen Das Gate `reduced_motion` steht bei 390 px auf 2,09 % (Schwelle 2 %). Ursache ist **nicht** die Bildsequenz, sondern ein Layout-Sprung: die Sektion „Wer ist Philipp Lütje" wächst beim Laden ihres Bildes um 58 px, wodurch alles darunter gegen die Referenzaufnahme versetzt ist. Der Grund liegt in `_components/core/image`: bei `mode: fit` werden die **angeforderten** Maße als `width`/`height` ausgegeben, obwohl das erzeugte Bild ein anderes Seitenverhältnis hat (`_600x1000_fit` liefert tatsächlich 526×1000, `_850x1000_fit` liefert 618×1000). Das betrifft jedes `fit`-Bild der Seite. Eigenes Issue folgt. Closes #137 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Y29GMuZcsumFPpLUh84c8G
content.twig reichte weder `block` noch `siteSettings` bewusst durch und
inkludierte ohne `only`. Die Block-Templates funktionierten dort nur, weil
siteSettings zufaellig aus dem umgebenden Scope durchsickerte -- beim
columnsSection haengt daran der Kunden-Streifen, der sonst ohne
Fehlermeldung verschwindet.

Gleicht das Template an content-home.twig an: .eagerly() gegen N+1,
explizite Props, only-Include. Die packageStartPrice-Sonderlogik bleibt
der Startseite vorbehalten.

Refs #137

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y29GMuZcsumFPpLUh84c8G
Phil merged commit 95ac978bee into main 2026-09-10 08:49:34 +00:00
Phil deleted branch feat/referenzenseite 2026-09-10 08:49:34 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Phil/philflow.io!138
No description provided.