chore(craft): remove unused boilerplate entry types and fields #28

Merged
Phil merged 1 commit from chore/craft-remove-boilerplate-entrytypes into main 2026-08-12 21:10:09 +00:00
Owner

Entfernt acht Entry-Types aus der gekauften Boilerplate und die sieben Felder, die ausschließlich von ihnen genutzt wurden. Keiner der Typen war im Matrix-Feld websiteContent zugeordnet oder hatte ein Twig-Partial unter templates/_components/_blocks/.

Beweistabelle

Handle Entry-Anzahl (DB, inkl. soft-deleted) Entscheidung Begründung
featuresSection 0 gelöscht kein Partial, nicht in websiteContent
gridSection 0 gelöscht kein Partial, nicht in websiteContent
modulesSection 0 gelöscht kein Partial, nicht in websiteContent
feature 0 gelöscht einziger Block-Typ im Feld features, das nur an featuresSection hängt
gridItems (Entry-Type) 0 gelöscht einziger Block-Typ im Feld gridItems, das nur an gridSection hängt
module 0 gelöscht einziger Block-Typ im Feld modules, das nur an modulesSection hängt
listItem 0 gelöscht einziger Block-Typ im Super-Table-Feld list, das an keinem Field-Layout hängt
social 0 gelöscht einziger Block-Typ im Feld socialMedia, das an keinem Field-Layout hängt
features (Feld) – gelöscht exklusiv featuresSection
gridItems (Feld) – gelöscht exklusiv gridSection
modules (Feld) – gelöscht exklusiv modulesSection
list (Feld) – gelöscht exklusiv listItem
socialMedia (Feld) – gelöscht exklusiv social
colorPicker (Feld) – gelöscht exklusiv gridItems+module, per git grep gegen den Stand vor der Löschung verifiziert: keine weiteren Fundstellen außer den beiden gelöschten Entry-Types und der eigenen Felddefinition
externalLink (Feld) – gelöscht exklusiv social, gleiche Verifikation wie colorPicker
Text (4202a2d1) – behalten aktiv in 15+ Kontexten, u.a. siteSettings (Footer-Adresse, Kontaktinfo)
Image (cb3d557f) – behalten aktiv in 10+ Kontexten, u.a. siteSettings (Header-Logo)

Text und Image bleiben bewusst, weil sie in over fifteen aktiven Kontexten hängen, unter anderem am Footer und Header des Global-Sets siteSettings. Ein pauschales Aufräumen hätte den Footer zerlegt.

social samt socialMedia konnte gelöscht werden, weil sogar das Container-Feld socialMedia an keinem Field-Layout hing (auch nicht an siteSettings) und der Footer nachweislich siteSettings.footerMenu, address und contactInformation rendert, keine Social-Icons.

Verifikation (gegen den echten Zielzustand nach Rebase auf origin/main, inklusive Asset-Split #25 und Matomo-Fix #26)

  • docker exec philflow_php_local php craft up: grün, idempotent nach dem Rebase.
  • HTTP 200 auf Startseite, Blog-Übersicht, Impressum.
  • Control Panel: Field-Layout der Startseiten-Entry (ID 3) programmatisch aufgelöst inkl. websiteContent-Matrix (15 Blöcke), keine Exception.
  • Gerenderter Footer vor und nach der Löschung verglichen: Adresse, Kontaktdaten und Footer-Navigation inklusive LinkedIn-Link (kommt über footerMenu, nicht über das gelöschte social) identisch.

Closes #23

🤖 Generated with Claude Code

Entfernt acht Entry-Types aus der gekauften Boilerplate und die sieben Felder, die ausschließlich von ihnen genutzt wurden. Keiner der Typen war im Matrix-Feld `websiteContent` zugeordnet oder hatte ein Twig-Partial unter `templates/_components/_blocks/`. ## Beweistabelle | Handle | Entry-Anzahl (DB, inkl. soft-deleted) | Entscheidung | Begründung | |---|---|---|---| | featuresSection | 0 | gelöscht | kein Partial, nicht in websiteContent | | gridSection | 0 | gelöscht | kein Partial, nicht in websiteContent | | modulesSection | 0 | gelöscht | kein Partial, nicht in websiteContent | | feature | 0 | gelöscht | einziger Block-Typ im Feld `features`, das nur an featuresSection hängt | | gridItems (Entry-Type) | 0 | gelöscht | einziger Block-Typ im Feld `gridItems`, das nur an gridSection hängt | | module | 0 | gelöscht | einziger Block-Typ im Feld `modules`, das nur an modulesSection hängt | | listItem | 0 | gelöscht | einziger Block-Typ im Super-Table-Feld `list`, das an keinem Field-Layout hängt | | social | 0 | gelöscht | einziger Block-Typ im Feld `socialMedia`, das an keinem Field-Layout hängt | | features (Feld) | – | gelöscht | exklusiv featuresSection | | gridItems (Feld) | – | gelöscht | exklusiv gridSection | | modules (Feld) | – | gelöscht | exklusiv modulesSection | | list (Feld) | – | gelöscht | exklusiv listItem | | socialMedia (Feld) | – | gelöscht | exklusiv social | | colorPicker (Feld) | – | gelöscht | exklusiv gridItems+module, per `git grep` gegen den Stand vor der Löschung verifiziert: keine weiteren Fundstellen außer den beiden gelöschten Entry-Types und der eigenen Felddefinition | | externalLink (Feld) | – | gelöscht | exklusiv social, gleiche Verifikation wie colorPicker | | Text (4202a2d1) | – | **behalten** | aktiv in 15+ Kontexten, u.a. `siteSettings` (Footer-Adresse, Kontaktinfo) | | Image (cb3d557f) | – | **behalten** | aktiv in 10+ Kontexten, u.a. `siteSettings` (Header-Logo) | `Text` und `Image` bleiben bewusst, weil sie in over fifteen aktiven Kontexten hängen, unter anderem am Footer und Header des Global-Sets `siteSettings`. Ein pauschales Aufräumen hätte den Footer zerlegt. `social` samt `socialMedia` konnte gelöscht werden, weil sogar das Container-Feld `socialMedia` an keinem Field-Layout hing (auch nicht an `siteSettings`) und der Footer nachweislich `siteSettings.footerMenu`, `address` und `contactInformation` rendert, keine Social-Icons. ## Verifikation (gegen den echten Zielzustand nach Rebase auf `origin/main`, inklusive Asset-Split #25 und Matomo-Fix #26) - `docker exec philflow_php_local php craft up`: grün, idempotent nach dem Rebase. - HTTP 200 auf Startseite, Blog-Übersicht, Impressum. - Control Panel: Field-Layout der Startseiten-Entry (ID 3) programmatisch aufgelöst inkl. `websiteContent`-Matrix (15 Blöcke), keine Exception. - Gerenderter Footer vor und nach der Löschung verglichen: Adresse, Kontaktdaten und Footer-Navigation inklusive LinkedIn-Link (kommt über `footerMenu`, nicht über das gelöschte `social`) identisch. Closes #23 🤖 Generated with [Claude Code](https://claude.com/claude-code)
featuresSection, gridSection, modulesSection, feature, gridItems, module,
listItem and social are entry types from the purchased boilerplate that
were never wired into the websiteContent Matrix field or any other field
layout. Verified zero entries in the database (including soft-deleted),
no template/module/config code references, and no Matrix or field-layout
usage anywhere in project config.

Also removes the seven fields used exclusively by these entry types
(features, gridItems, modules, list, socialMedia, colorPicker,
externalLink) and prunes their stale meta.__names__ lookup entries from
project.yaml. colorPicker and externalLink were only referenced by the
gridItems/module and social entry types respectively and became fully
orphaned once those entry types were removed.

The social entry type and its socialMedia field are not used by the
footer or any global set. templates/_components/core/footer.twig renders
siteSettings.footerMenu, not socialMedia; siteSettings has no social
field in its field layout.

Closes #23
Phil merged commit afcff5345b into main 2026-08-12 21:10:09 +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!28
No description provided.