Blocktyp-Verträge

Zweck und Umfang

Diese Referenz beschreibt veröffentlichte Kernblöcke, editierbare Felder, Übersetzungen, Kindregeln und öffentliches Rendering. Die Blocktypenverwaltung zeigt denselben Vertrag schreibgeschützt; sie definiert weder eigene Schemas noch neue Bearbeitungsformulare.

Das Plugin-System fügt über PluginBlockTypeDefinition, PluginBlockPackDefinition und PluginBlockRegistry rein deklarative Plugin-Block-Hooks hinzu. Aktivierte Plugins können plugin-eigene Handles wie analytics-tools::score-card für die Discovery bereitstellen, aber diese Deklarationen ersetzen nicht die ausgelieferten Kern-Blockverträge, Kern-Block-Views, Kern-Seeder oder die Blockbearbeitungs-Services. Unqualifizierte Handles im Kern-Stil wie hero bleiben kerneigen und werden für Plugin-Deklarationen abgelehnt.

Definition

A Block Type Contract ist die aktuelle technische Vereinbarung darüber, wie sich ein Blocktyp über CMS-Schichten hinweg verhält:

  • Katalogidentität: Slug, Label, Kategorie, Status und System- oder Container-Metadaten
  • Quelle des Admin-Formulars: Welcher Blade-Teil bearbeitet derzeit den Block und welche Felder er offenlegt
  • Validierung und Anfragebearbeitung: WieWebBlocks\Cms\Http\Requests\Admin\BlockRequestNormalisiert und validiert derzeit Blocknutzlasten
  • Speichereigentum: welche Werte weiterlebenblocks, dedizierte Übersetzungszeilen,block_mediaoder verwandte Datensätze
  • Übersetzungseigentum: welche benutzerseitigen Felder im Besitz des Gebietsschemas sind
  • Gemeinsamer Besitz: Welche Einstellungen oder Beziehungen bleiben standortübergreifend gemeinsam?
  • Medien- oder Beziehungseigentum: direktmedia_id, bestelltblock_media, Navigationssuchen oder Beziehungen auf derselben Seite
  • Kinderunterstützung: ob der Block ein Container ist und ob untergeordnete Typen eingeschränkt sind
  • Öffentliche Renderer-Quelle: Welcher öffentliche Blade rendert den Block heute teilweise
  • Renderer-Root-Vertrag: ob der Block sein öffentliches Root-Markup besitzt oder sich auf den generischen Wrapper-Pfad verlässt
  • Portabilität und Revisionen: ob die aktuelle Speicherform weiterhin Revisionen, Klonen, Export/Import und Promotion durchlaufen soll
  • Tests und Lücken: bekannte gezielte Berichterstattung, unklares Verhalten oder Kompatibilitätsschuld

Aktuelle Vertragsbegriffe

Nachfolgend verwendete Statusbegriffe:

  • clear: Admin-Formular, Request-Verarbeitung, Speicherung und Renderer stimmen weitgehend überein
  • mostly clear: der aktuelle Vertrag ist verständlich, hat aber einen nennenswerten Vorbehalt
  • transitional: der aktuelle Vertrag trägt bewusst einen Kompatibilitätspfad oder ein gemischtes Eigentumsmuster
  • needs review: der installierte Vertrag muss vor Nutzung bestätigt werden
  • legacy/fallback: das veröffentlichte Verhalten hängt von einem Fallback- oder Kompatibilitätspfad ab

Regeln zum Speicher-Eigentum

Aktuelle und zukünftige Vertragsarbeiten sollten diese Eigentumsregeln explizit beibehalten:

  • Die benutzerseitige Kopie gehört in Übersetzungszeilen, wenn der Block im Besitz des Gebietsschemas ist
  • Gemeinsam genutzte Betriebs- oder Einstellungsdaten gehören zu gemeinsam genutzten Blockeinstellungen oder expliziten Beziehungen
  • Medien nutzen solltenmedia_idoderblock_mediaggf. Eigentumspfade
  • Vermeiden Sie es, benutzerbezogene Inhalte in beliebige gemeinsame Einstellungen zu verschieben
  • Halten Sie Kompatibilitätsspeicherpfade dokumentiert, wenn sie sich weiterhin auf öffentliche Ausgaben oder Importe auswirken

Von CMS 1.98.6 wird das kompatible settings-Modell/API-Feld durch relationale Datensätze unterstützt. Bekannte Kernfelder verwenden endlich typisierte Darstellungs-, Medien-, Navigations- und Inhaltsspalten. Inhaltsbindungen, Sammlungskonfiguration und Anwendungsinstanzwerte verfügen über separate Datensätze; Typisierte Knoten behalten Struktur, Reihenfolge und historische/Plugin-Erweiterungen bei. CMS 1.98.8 hat die temporären JSON-Rollback-Kopien entfernt; Maßgebend ist SQL. Der Editor, das Übersetzungseigentum, die API-Nutzlasten und die Renderer-Methoden behalten ihre bestehenden Verträge; Durch die Speichermigration werden Kopien im Besitz des Gebietsschemas nicht in freigegebene Einstellungen verschoben.

Validierung der Bearbeitungseinstellungen

CMS 1.105.9 ergänzt eine versionierte authoring_settings_schema-Beschreibung für alle 55 veröffentlichten Kernblöcke. Prüfen Sie vor dem Übermitteln eines Feldes die getrennten Schreibregeln für Erstellung, PATCH und Admin. Neue oder geänderte Werte müssen den deklarierten Typen, Auswahlmöglichkeiten und Grenzen entsprechen. Nicht unterstützte Felder werden mit Validierungsfehlern abgelehnt, statt stillschweigend akzeptiert oder geleert zu werden. Dieser Vertrag wird im Code definiert; er ist weder ein bearbeitbares Schema noch ein automatischer Formulargenerator.

Unveränderte historische Werte bleiben bei unabhängigen Änderungen sowie beim vertrauenswürdigen Klonen, Staging und Wiederherstellen von Revisionen erhalten. Neue Blöcke und vollständige Ersetzungen müssen die aktuelle Validierung bestehen. Plugins ohne Schema behalten ihr bisheriges Verhalten. Optionale skalare Plugin-Schemata ersetzen nicht die Prüfungen für Medien, Anwendungen oder Dynamic Content. HTML bleibt menschlicher Bearbeitung vorbehalten.

Die Einstellungsschemata je Block beschreiben die Operationsmetadaten, Kompatibilitätsregeln und den schreibgeschützten Kompatibilitätsbefehl webblocks:blocks:audit-settings. Die separate Katalogprüfung unten untersucht die ausgelieferten Formulare und Renderer, nicht die gespeicherten Einstellungen.

Ausgelieferte Quellen

Die Referenz verwendet ausgelieferten Katalog, Formulare und Renderer.

  • Katalogquelle: src/Support/Blocks/CoreBlockTypeCatalogSyncer.php
  • Blockbearbeitungsanforderungsnormalisierung: src/Http/Requests/Admin/BlockRequest.php
  • Persistenzhelfer: src/Support/Blocks/BlockPayloadWriter.php, src/Support/Blocks/BlockTranslationWriter.php, src/Support/Blocks/BlockTranslationResolver.php
  • Übersetzungsregister: src/Support/Blocks/BlockTranslationRegistry.php
  • admin-Formulare: resources/views/admin/blocks/types/*.blade.php
  • öffentliche Renderer: resources/views/pages/partials/blocks/*.blade.php
  • Abdeckungsreferenzen: Blockkatalog, Rendering, Übersetzung und Slug-spezifische Tests unter tests/Feature/

Veröffentlichte Kernblocktypen, die derzeit hier dokumentiert sind: 55.

Katalogabgleich: WebBlocks CMS 1.105.8. Die Tabelle deckt alle 55 veröffentlichten Kerndefinitionen ab; sieben weitere Definitionen bleiben unveröffentlicht. Bei den nachstehenden Notizen zu späteren Phasen handelt es sich um historische Aufzeichnungen, nicht um eine zweite aktuelle Katalogzählung.

Audit-Befehl

Betreiber und Entwickler können diese schreibgeschützte Katalogprüfung ausführen:

php artisan block-types:contracts-audit
php artisan block-types:contracts-audit --json

Der Befehl ist rein lesend.

  • er verändert die Datenbank nicht
  • er hängt nicht von installierten Site-Inhalten ab
  • er liest die ausgelieferten Kern-Katalogdefinitionen
  • er prüft das Vorhandensein der ausgelieferten Admin-Formular- und öffentlichen Renderer-Dateien
  • er berichtet Übersetzungsfamilien-Metadaten und grundlegende Container-Unterstützung

Der Befehl ist eine Aktualitätshilfe für Katalog- und Dateipräsenz-Drift. Er ersetzt nicht die ausführlicheren Vertragsnotizen in diesem Dokument.

Schreibgeschützte Verwaltungsansicht

Öffnen Sie Vertragsdetails schreibgeschützt unter Admin -> System -> Block Types.

  • jede Zeile kann ein Block Type Contract-Modal öffnen
  • das Modal ist rein informativ und sendet keine Aktualisierungen
  • es zeigt Katalog-, Admin-Formular-, Speicher-, Übersetzungs-, Medien- oder Beziehungs-, Kind-, Renderer- und Lücken-Details aus dem ausgelieferten Code
  • es macht die Blocktypen-Verwaltung nicht zu einem Schema-Editor oder Formular-Builder
  • eigene oder Entwurfs-Blocktypen können das Modal weiterhin öffnen, zeigen aber möglicherweise No shipped contract is documented for this block type yet., wenn kein Kernvertrag definiert ist

Matrix der veröffentlichten Blockverträge

Inhalt

Header — header

Inhalt und Verhalten
Feld Vertrag
Slug header
Bezeichnung Header
Kategorie content
Übersetzbare Felder title über Textübersetzungszeilen
Geteilte/Einstellungsfelder variant als Überschriftenebene; settings.alignment; gemeinsamer Anker in settings.anchor mit Legacy-Fallback auf url
Medien-/Beziehungsfelder TOC für denselben Steckplatz liest verankerte Header-Blöcke
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Kanonischer Überschriften-Block; der Vertrag für den gemeinsamen Anker ist klar, es besteht aber weiterhin ein Legacy-Fallback-Verhalten über url.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/header.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/header.blade.php
Renderer-Root-Vertrag Besitzt sein Root-Überschriftenelement
Tests / Abdeckung SyncCoreBlockTypesCommandTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest

Einfacher Text — plain_text

Inhalt und Verhalten
Feld Vertrag
Slug plain_text
Bezeichnung Einfacher Text
Kategorie content
Übersetzbare Felder content über Textübersetzungszeilen
Geteilte/Einstellungsfelder settings.alignment
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Einfacher übersetzter Grundbaustein für Fließtext.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/plain_text.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/plain_text.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm <p>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest

Rich Text — rich-text

Inhalt und Verhalten
Feld Vertrag
Slug rich-text
Bezeichnung Rich Text
Kategorie content
Übersetzbare Felder content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Keine
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Sichere HTML-Speicherung und Übersetzungsverantwortung sind klar geregelt.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/rich-text.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/rich-text.blade.php
Renderer-Root-Vertrag Besitzt sein .wb-rich-text-Root, wenn Inhalt vorhanden ist
Tests / Abdeckung RichTextBlockTest, PublicRichContentTest, BlockTranslationIntegrityTest

Code — code

Inhalt und Verhalten
Feld Vertrag
Slug code
Bezeichnung Code
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder settings.language
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block richtet den übersetzten Code-Titel, die Bezeichnung und den Snippet-Inhalt an der bestehenden Textübersetzungsarchitektur aus und ignoriert in der öffentlichen Ausgabe nun beliebige historische Kindbäume.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/code.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/code.blade.php
Renderer-Root-Vertrag Besitzt das Stammverzeichnis <pre><code>
Tests / Abdeckung PublicRichContentTest, BlockTypePhaseThreeContractsTest, PageBuilderExperienceTest
Feld Vertrag
Slug button_link
Bezeichnung Button Link
Kategorie content
Übersetzbare Felder title-Bezeichnung über Textübersetzungszeilen
Geteilte/Einstellungsfelder settings.url; settings.target; geteiltes variant
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Geteilte URL und geteiltes Ziel sind mit der übersetzten Bezeichnung konsistent.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/button_link.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/button_link.blade.php
Renderer-Root-Vertrag besitzt seinen Stamm <a.wb-btn>
Tests / Abdeckung PublicEditorialBlocksRenderingTest

Card — card

Inhalt und Verhalten
Feld Vertrag
Slug card
Bezeichnung Card
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; settings.layout_name; settings.background_position; settings.background_overlay; optional settings.url und settings.target
Medien-/Beziehungsfelder Optionaler Hintergrund image über direktes media_id; Blöcke der untergeordneten Region definieren die Struktur
Kind-/Container-Verhalten Container; als direkte Kinder sind ausschließlich card_header, card_body und card_footer erlaubt
Aktueller Status clear
Bekannte Lücken / Hinweise Karte ist eine zusammensetzbare Shell. Die optionale Whole-card-URL ist sicher und semantisch; Redakteure dürfen keine verschachtelten interaktiven Steuerelemente in verknüpften Karten platzieren. Es unterstützt Medienbibliothek-Hintergründe und behält ein minimales Legacy-Fallback für ältere Zeilen ohne Kartenbereiche bei.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/card.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/card.blade.php
Renderer-Root-Vertrag Besitzt seinen <article class="wb-card">-Stamm oder einen semantischen <a class="wb-card wb-no-decoration">-Stamm, wenn er verknüpft ist
Tests / Abdeckung CardClickableRenderTest, PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, BlockTranslationIntegrityTest, MediaVisualBlockContractsTest

Card Header — card_header

Inhalt und Verhalten
Feld Vertrag
Slug card_header
Bezeichnung Card Header
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name, settings.icon_slug, settings.icon_tone, settings.icon_size
Medien-/Beziehungsfelder Nur Beziehung zum übergeordneten card
Kind-/Container-Verhalten Container; darf nur unter card platziert werden; Card-Regionskinder sind nicht erlaubt
Aktueller Status clear
Bekannte Lücken / Hinweise Composable Card-Regionsblock für header content. Optionale Symbole verwenden aktive content-Katalog-Slugs und werden nur über sichere Symbol-, Ton- und Größenklassen gerendert. Der Kartenkopf hat keine Ausweiskopie und gibt daher keinen Ausweiston ab.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/card_header.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/card_header.blade.php
Renderer-Root-Vertrag Besitzt das Stammverzeichnis <div class="wb-card-header">
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, PublicIconBadgeSupportTest

Card Body — card_body

Inhalt und Verhalten
Feld Vertrag
Slug card_body
Bezeichnung Card Body
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name
Medien-/Beziehungsfelder Nur Beziehung zum übergeordneten card
Kind-/Container-Verhalten Container; darf nur unter card platziert werden; Card-Regionskinder sind nicht erlaubt
Aktueller Status clear
Bekannte Lücken / Hinweise Komponierbarer Card-Regionsblock für den Hauptinhalt.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/card_body.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/card_body.blade.php
Renderer-Root-Vertrag Besitzt den Stamm <div class="wb-card-body">
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest
Feld Vertrag
Slug card_footer
Bezeichnung Card Footer
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name
Medien-/Beziehungsfelder Nur Beziehung zum übergeordneten card
Kind-/Container-Verhalten Container; darf nur unter card platziert werden; Card-Regionskinder sind nicht erlaubt
Aktueller Status clear
Bekannte Lücken / Hinweise Komponierbarer Card-Regionsblock für Fußzeilen- oder Aktionsinhalte.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/card_footer.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/card_footer.blade.php
Renderer-Root-Vertrag ist Eigentümer des Stammverzeichnisses <div class="wb-card-footer">
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Stat Card — stat-card

Inhalt und Verhalten
Feld Vertrag
Slug stat-card
Bezeichnung Stat Card
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Das kanonische url bleibt auf der Blockzeile geteilt
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block behält das bestehende optionale URL-Feld bei und rendert nun einen einfachen öffentlichen Link, wenn eine URL vorhanden ist.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/stat-card.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/stat-card.blade.php
Renderer-Root-Vertrag Besitzt sein Stat-Card-Root
Tests / Abdeckung StatCardTest, BlockTranslationIntegrityTest

Bild — image

Inhalt und Verhalten
Feld Vertrag
Slug image
Bezeichnung Bild
Kategorie content
Übersetzbare Felder caption, alt text über Bildübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; gemeinsam genutztes kanonisches url; settings.viewer_enabled; settings.viewer_group
Medien-/Beziehungsfelder Direkte Bild-Medienbeziehung über media_id
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Bildunterschrift und alt text sind Eigentum des Gebietsschemas, während Medien, optionale Link-URL und Betrachtergruppierung weiterhin gemeinsam genutzt werden. Explizite Links haben Vorrang; andernfalls aktivierte Bildblöcke mit derselben Gruppe teilen sich den vorhandenen CMS Gallery Viewer, ohne die Seitenzusammensetzung zu ändern.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/image.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/image.blade.php
Renderer-Root-Vertrag Besitzt sein semantisches <figure>-Stammverzeichnis, wenn Medien vorhanden sind, und kann sich bei einem gruppierten Galerie-Viewer registrieren
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, BlockTranslationIntegrityTest, PublicOverlayRegistryTest
Feld Vertrag
Slug gallery
Bezeichnung Galerie
Kategorie content
Übersetzbare Felder Pro Galerie-Element alt_text, caption, overlay_title und overlay_text über block_gallery_item_translations
Geteilte/Einstellungsfelder Gemeinsame gallery-Präsentationseinstellungen plus optionaler Viewer title und geordnete block_media gallery-Elementbeziehungen
Medien-/Beziehungsfelder Geordnete block_media-Zeilen mit der Rolle gallery_item; locale-eigene Galerie-Element-Texte liegen in block_gallery_item_translations; gespeicherte Legacy-Werte für title/subtitle am Block können noch existieren, werden vom öffentlichen Rendering aber ignoriert
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Gallery ist jetzt ein Mediensammlungsblock. Das normale Admin-Formular verwendet einen kompakten Listenzeilen-Editor anstelle der älteren ausgewählten Assets grid. Sein verschachtelter Add Gallery Items-Picker verbleibt im gemeinsamen Administratorvertrag #wb-overlay-root, sodass WebBlocks UI den gestapelten modalen Lebenszyklus besitzt und lange kompakte Ergebnislisten die natürliche Zeilenhöhe beibehalten, während der modale Körper der Scroll-Container bleibt. Öffentliche Varianten sind unterschiedlich: grid behält gleiche Zellen bei, masonry verwendet CSS columns mit natürlicher image-Höhe und collage behält die Zusammensetzung mit der ersten Zeile bei. Ältere gespeicherte masonary-Werte werden weiterhin akzeptiert und auf den kanonischen masonry-Pfad normalisiert. Die Galerie verfügt nicht mehr über die Ausgabe von Einleitungsüberschriften oder Absätzen. Redakteure sollten content_header plus plain_text oder rich-text vor der Galerie platzieren, wenn eine Abschnittskopie erforderlich ist. Der optionale Viewer title beschriftet nur das Lightbox-Modal header. Auf älteren Einstellungen basierende Fallback-Elemente bleiben für ältere content lesbar.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/gallery.blade.php sowie resources/views/admin/blocks/types/partials/gallery-items-editor.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/gallery.blade.php
Renderer-Root-Vertrag Besitzt sein Galerie-Wrapper-Root und registriert ein Viewer-Modal unter #wb-overlay-root, wenn die Lightbox aktiviert ist
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, PageBuilderExperienceTest, SiteCloneServiceTest, SiteExportImportTest, SitePromotionTest, ReconstructionIntegrityTest, SharedSlotRevisionTest

Download — download

Inhalt und Verhalten
Feld Vertrag
Slug download
Bezeichnung Download
Kategorie content
Übersetzbare Felder title, subtitle über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes media_id; geteiltes variant
Medien-/Beziehungsfelder Direkte Download-Medienbeziehung über media_id
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block hält die ausgewählten Download-Medien und die Button-Variante geteilt, während sichtbare Bezeichnung und Hilfstext in den bestehenden Textübersetzungspfad verschoben werden.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/download.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/download.blade.php
Renderer-Root-Vertrag Besitzt sein CTA-Wrapper-Root, wenn Medien vorhanden sind
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, AudioContentApiTest

Datei — file

Inhalt und Verhalten
Feld Vertrag
Slug file
Bezeichnung Datei
Kategorie content
Übersetzbare Felder title, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes media_id; geteilte kanonische url
Medien-/Beziehungsfelder Direkte Medienbeziehung über media_id mit Fallback auf eine externe URL
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block produktisiert den ausgelieferten File-Renderer mit einem eigenen Admin-Formular und hält die geteilte Verantwortung für die Dateiquelle zwischen Medien und externem URL-Fallback explizit.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/file.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/file.blade.php
Renderer-Root-Vertrag Besitzt sein File-Card-Root
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, AudioContentApiTest

Video — video

Inhalt und Verhalten
Feld Vertrag
Slug video
Bezeichnung Video
Kategorie content
Übersetzbare Felder title, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes media_id; geteilte kanonische url
Medien-/Beziehungsfelder Direkte Medienbeziehung über media_id mit sicherem Fallback auf eine externe URL
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block ergänzt das fehlende Admin-Formular und den Speicherpfad, sodass hochgeladene Videomedien, sichere externe Anbieter-URLs, übersetzte sichtbare Texte und das öffentliche Fallback-Verhalten nun denselben Vertrag beschreiben.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/video.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/video.blade.php
Renderer-Root-Vertrag Besitzt sein Video-Card-Root
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, AudioContentApiTest

Audio — audio

Inhalt und Verhalten
Feld Vertrag
Slug audio
Bezeichnung Audio
Kategorie content
Übersetzbare Felder title, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes media_id; geteilte kanonische url
Medien-/Beziehungsfelder Direkte Medienbeziehung über media_id mit Fallback auf eine externe URL
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Admin, Content Plan und inkrementelle Blockschreibvorgänge akzeptieren audio-Medien mit der Art other und einem audio/* MIME-Typ; Inkompatible Medien werden abgelehnt. Lokalisierte Kopien und sicheres No-Empty-Controls-Rendering bleiben nativ.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/audio.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/audio.blade.php
Renderer-Root-Vertrag Besitzt sein Audio-Card-Root
Tests / Abdeckung MediaVisualBlockContractsTest, PublicMediaBlocksTest, AudioContentApiTest

Tabelle — table

Inhalt und Verhalten
Feld Vertrag
Slug table
Bezeichnung Tabelle
Kategorie content
Übersetzbare Felder title, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes variant; der Renderer prüft zusätzlich den settings.rows-Fallback
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status mostly clear
Bekannte Lücken / Hinweise Der Block richtet die Verantwortung für übersetzten Titel und Zeilentexte an der bestehenden Textübersetzungsarchitektur aus und ignoriert in der öffentlichen Ausgabe nun beliebige historische Kindbäume; der Legacy-Fallback-Pfad über settings.rows bleibt dokumentiert.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/table.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/table.blade.php
Renderer-Root-Vertrag Besitzt sein Tabellen-Wrapper-Root
Tests / Abdeckung PublicRichContentTest, BlockTypePhaseThreeContractsTest, PageBuilderExperienceTest

Zitat — quote

Inhalt und Verhalten
Feld Vertrag
Slug quote
Bezeichnung Zitat
Kategorie content
Übersetzbare Felder Derzeit keine in der Registry
Geteilte/Einstellungsfelder Kanonische Felder title, subtitle, content, variant
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block behandelt Quote in der öffentlichen Ausgabe nicht mehr als Layout-/Container-Wrapper, während vorhandene gespeicherte Kindzeilen in den Admin-Blockbäumen erhalten bleiben.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/quote.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/quote.blade.php
Renderer-Root-Vertrag Besitzt sein Zitat-Root
Tests / Abdeckung PublicRichContentTest, PageBuilderExperienceTest

Hero — hero

Inhalt und Verhalten
Feld Vertrag
Slug hero
Bezeichnung Hero
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; geteilt variant; settings.layout; settings.title_tag; settings.background_position; settings.background_overlay
Medien-/Beziehungsfelder Optionaler Hintergrund image über direktes media_id; untergeordnete button_link-Blöcke für Aktionen
Kind-/Container-Verhalten Container; button_link-Kinder (Legacy-button ebenfalls zulässig), keine feste Anzahl
Aktueller Status transitional
Bekannte Lücken / Hinweise Hero ist jetzt ein veröffentlichter, quellengestützter Kernvertrag. Die Einführungskopie gehört dem Gebietsschema, die Aktionsschaltflächen sind normale untergeordnete button_link-Elemente, die ihre eigenen Bezeichnungen und URLs besitzen, und optionale Hintergrundbilder der Medienbibliothek werden über das native Hintergrundmediengrundelement WebBlocks UI gerendert. Ältere content-Fallbacks bleiben lesbar, wenn kanonisch übersetzte Felder leer sind.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/hero.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/hero.blade.php
Renderer-Root-Vertrag Besitzt seinen Promo-Stamm <section>
Tests / Abdeckung PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Spalten — columns

Inhalt und Verhalten
Feld Vertrag
Slug columns
Bezeichnung Spalten
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Geteiltes variant
Medien-/Beziehungsfelder Kind-column_item-Blöcke
Kind-/Container-Verhalten Container; nur column_item-Kinder
Aktueller Status clear
Bekannte Lücken / Hinweise Columns ist jetzt ein veröffentlichter, erstklassiger Block für strukturierte Inhalte. Intro-Texte sind locale-eigen, während Variante, Kindreihenfolge und Kind-URLs geteilt bleiben.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/columns.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/columns.blade.php
Renderer-Root-Vertrag Besitzt seinen strukturierten Root-content <section>
Tests / Abdeckung PublicColumnsRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Spaltenelement — column_item

Inhalt und Verhalten
Feld Vertrag
Slug column_item
Bezeichnung Spaltenelement
Kategorie content
Übersetzbare Felder title, eyebrow als Badge-Label, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsam genutztes kanonisches url, settings.icon_slug, settings.icon_tone, settings.icon_size, settings.badge_tone Das Spaltenelement
Medien-/Beziehungsfelder Beziehung zum übergeordneten columns
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise verwendet die mitgelieferte Komposition WebBlocks UI wb-icon-card für symbolgeführte einfache und card-Varianten. Das Gebietsschema ändert die Kopie des Aktualisierungselements, ohne freigegebene URLs, Symbol-Slug, Symbolton, Symbolgröße oder Abzeichenton zu überschreiben.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/column_item.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/column_item.blade.php
Renderer-Root-Vertrag Das vom Parent bestimmte Element-Root variiert je nach Columns-Variante
Tests / Abdeckung PublicColumnsRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, PublicIconBadgeSupportTest

CTA — cta

Inhalt und Verhalten
Feld Vertrag
Slug cta
Bezeichnung CTA
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; geteilt variant; settings.background_position; settings.background_overlay
Medien-/Beziehungsfelder Optionaler Hintergrund image über direktes media_id; untergeordnete button_link-Blöcke für Aktionen
Kind-/Container-Verhalten Container; button_link-Kinder (Legacy-button ebenfalls zulässig), keine feste Anzahl
Aktueller Status clear
Bekannte Lücken / Hinweise CTA ist jetzt ein veröffentlichter Promo-Vertrag mit einer gebietsschemaeigenen Kopie, Aktionsschaltflächen als gewöhnliche untergeordnete button_link-Elemente, optionalen Hintergrundbildern für die Medienbibliothek und einem öffentlichen Renderer, der dem Root-Benutzer gehört.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/cta.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/cta.blade.php
Renderer-Root-Vertrag Besitzt seinen Promo-Stamm <section>
Tests / Abdeckung PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Feature Grid — feature-grid

Inhalt und Verhalten
Feld Vertrag
Slug feature-grid
Bezeichnung Feature Grid
Kategorie content
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen; Kind feature-item title, Abzeichenetikett und content
Geteilte/Einstellungsfelder Gemeinsame untergeordnete Struktur, Reihenfolge, Links, Symbolblöcke, Symboltöne und Abzeichentöne
Medien-/Beziehungsfelder Kind-feature-item-Blöcke mit legacy-kompatibler column_item-Unterstützung
Kind-/Container-Verhalten Container; erlaubte Kinder sind feature-item und column_item
Aktueller Status transitional
Bekannte Lücken / Hinweise Feature Grid ist jetzt ein veröffentlichter Kompatibilitäts-Alias, da es real ausgelieferte Admin- und Render-Pfade besitzt, aber weiterhin bewusst an den Karten-Vertrag von Columns delegiert.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/feature-grid.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/feature-grid.blade.php
Renderer-Root-Vertrag Delegiert an die Karten-Darstellung von Columns und verwendet weiterhin den generischen öffentlichen Wrapper
Tests / Abdeckung PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, PublicIconBadgeSupportTest

Feature Item — feature-item

Inhalt und Verhalten
Feld Vertrag
Slug feature-item
Bezeichnung Feature Item
Kategorie content
Übersetzbare Felder title, eyebrow als Badge-Label, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsames kanonisches url, settings.icon_slug, settings.icon_tone, settings.icon_size, settings.badge_tone
Medien-/Beziehungsfelder Beziehung zum übergeordneten feature-grid
Kind-/Container-Verhalten Kein Container
Aktueller Status transitional
Bekannte Lücken / Hinweise Feature Item ist jetzt ein veröffentlichter unterstützender untergeordneter Vertrag für Feature Grid, während die vorhandenen Column Item-Karten und das content-Symbol-Rendering weiterhin gemeinsam genutzt werden.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/feature-item.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/feature-item.blade.php
Renderer-Root-Vertrag Delegiert an die Karten-Darstellung von Column Item
Tests / Abdeckung PublicHeroBlockRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, PublicIconBadgeSupportTest

Layout

Abschnitt — section

Inhalt und Verhalten
Feld Vertrag
Slug section
Bezeichnung Abschnitt
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; settings.layout_name; settings.spacing; settings.background_position; settings.background_overlay
Medien-/Beziehungsfelder Optionales Hintergrundbild über direktes media_id; Untergeordnete Blöcke bleiben struktureller Inhalt
Kind-/Container-Verhalten Container; keine explizite Kind-Whitelist
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block behält Abschnitt layout-orientiert bei: Gemeinsame layout-Einstellungen bleiben kanonisch, optionale Hintergrundmedien verwenden den Standard-Medienbibliotheksvertrag, besitzen das semantische <section>-Stammverzeichnis und verschieben benutzerseitige Kopien nicht in beliebige Einstellungen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/section.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/section.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm <section>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Container — container

Inhalt und Verhalten
Feld Vertrag
Slug container
Bezeichnung Container
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.width; settings.flow
Medien-/Beziehungsfelder Nur Kind-Blöcke
Kind-/Container-Verhalten Container; keine explizite Kind-Whitelist
Aktueller Status clear
Bekannte Lücken / Hinweise Container ist layout-neutral, wenn der Fluss nicht eingestellt ist oder none; Nur explizites Flow: Stack fügt vertikalen untergeordneten Fluss hinzu.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/container.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/container.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm container <div>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Stapel — stack

Inhalt und Verhalten
Feld Vertrag
Slug stack
Bezeichnung Stapel
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.spacing
Medien-/Beziehungsfelder Nur Kind-Blöcke
Kind-/Container-Verhalten Container; keine explizite Kind-Whitelist
Aktueller Status clear
Bekannte Lücken / Hinweise Vertikale untergeordnete Flusszuordnungen nur für die ausgelieferten Klassen wb-stack und wb-stack-*.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/stack.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/stack.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm stack <div>
Tests / Abdeckung StackSplitCatalogTest, StackSplitContractTest

Aufgeteilt — split

Inhalt und Verhalten
Feld Vertrag
Slug split
Bezeichnung Aufgeteilt
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.gap; settings.items_alignment; settings.width
Medien-/Beziehungsfelder Genau zwei direkte untergeordnete Blöcke
Kind-/Container-Verhalten Container; Keine explizite Whitelist für untergeordnete Elemente, aber die Anzahl der direkten untergeordneten Elemente ist auf zwei begrenzt
Aktueller Status clear
Bekannte Lücken / Hinweise Das erste direkte untergeordnete Element wächst und das zweite behält die Inhaltsgröße bei. Ein Stapel kann auf beiden Seiten verschachtelt sein. Die angeheftete Benutzeroberfläche verfügt noch über keinen reaktionsfähigen split-zu-stack-Modifikator.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/split.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/split.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm split <div>
Tests / Abdeckung StackSplitCatalogTest, StackSplitContractTest

Cluster — cluster

Inhalt und Verhalten
Feld Vertrag
Slug cluster
Bezeichnung Cluster
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.gap; settings.alignment; settings.items_alignment; settings.wrap; settings.width
Medien-/Beziehungsfelder Nur Kind-Blöcke
Kind-/Container-Verhalten Container; keine explizite Kind-Whitelist
Aktueller Status clear
Bekannte Lücken / Hinweise Geteilte Layout-Einstellungen bleiben explizit und rendererseitig verwaltet, einschließlich des bestehenden navbar-kompatiblen Kompositionspfads mit voller Breite, between, center und nowrap, ohne navbar-spezifische Logik hinzuzufügen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/cluster.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/cluster.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm cluster <div>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Grid — grid

Inhalt und Verhalten
Feld Vertrag
Slug grid
Bezeichnung Grid
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.columns; settings.gap; settings.alternate_media_text_sections; settings.alternate_start
Medien-/Beziehungsfelder Nur Kind-Blöcke
Kind-/Container-Verhalten Container; keine explizite Kind-Whitelist
Aktueller Status clear
Bekannte Lücken / Hinweise Gemeinsam genutzte grid-Einstellungen bleiben kanonisch. Abwechselnde Medien-/Textraster behalten den mitgelieferten wb-grid-*-Wrapper bei und ordnen direkte untergeordnete Medien-/Textpaare, einschließlich Slider- und Textabschnittsstrukturen, nach erkanntem visuellen Inhalt neu. Wechselnde Geschwistergitter unter demselben übergeordneten Element teilen sich eine Reihenfolge, auch wenn andere Blöcke dazwischen erscheinen, wobei das erste alternierende Gitter die Startrichtung steuert.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/grid.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/grid.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm grid <div>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest

Muster

Content Header — content_header

Inhalt und Verhalten
Feld Vertrag
Slug content_header
Bezeichnung Content Header
Kategorie pattern
Übersetzbare Felder title, eyebrow als Badge-Label, subtitle, meta über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsam genutzt media_id; settings.alignment, settings.icon_slug, settings.icon_tone, settings.icon_size, settings.badge_tone, settings.background_position, settings.background_overlay
Medien-/Beziehungsfelder Optionales Hintergrundbild über direktes media_id; meta wird als strukturierte Liste content gespeichert
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Content Header ist ein content-Shell-pattern-Block. Es behält das gebietsschemaeigene title, das Badge-Label, das Intro und die meta-Kopie bei, rendert sein title immer als H1, ignoriert alle veralteten gespeicherten Werte auf Überschriftenebene beim Rendern und behält die Ausrichtung, den Icon-Slug, den Icon-Ton, die Icon-Größe, den Badge-Ton und die optionalen Hintergrundmedien bei.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/content_header.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/content_header.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm <header>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTypePhaseThreeContractsTest, BlockTranslationIntegrityTest, PublicIconBadgeSupportTest

Alert — alert

Inhalt und Verhalten
Feld Vertrag
Slug alert
Bezeichnung Alert
Kategorie pattern
Übersetzbare Felder title, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder settings.variant
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Geteilte Variante und übersetzte Texte passen sauber zusammen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/alert.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/alert.blade.php
Renderer-Root-Vertrag Besitzt sein Alert-Root
Tests / Abdeckung PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest
Feld Vertrag
Slug link-list
Bezeichnung Link List
Kategorie navigation
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Optional settings.row_layout (Index/gestapelt) und settings.list_frame (verbunden/Karten)
Medien-/Beziehungsfelder Untergeordnete link-list-item-Blöcke
Kind-/Container-Verhalten Container; nur link-list-item-Kinder
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block rendert die vorhandene übersetzte Einleitung jetzt oberhalb der öffentlichen Linkliste, ohne das Verhalten der untergeordneten Einträge zu ändern.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/link-list.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/link-list.blade.php
Renderer-Root-Vertrag Besitzt seinen Stamm .wb-link-list, wenn untergeordnete Zeilen vorhanden sind, und fügt wb-link-list--stacked und wb-link-list--cards für die ausgewählten Stile hinzu
Tests / Abdeckung LinkListBlockTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest
Feld Vertrag
Slug link-list-item
Bezeichnung Link List Item
Kategorie navigation
Übersetzbare Felder Erforderlich title, optional eyebrow als Badge-Label, optional subtitle, optional content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Erforderliches freigegebenes url, optionales freigegebenes media_id-Miniaturbild, optionales settings.icon_slug, settings.icon_tone, settings.icon_size, settings.badge_tone
Medien-/Beziehungsfelder Optionale Miniaturansicht-Medien über die direkte Block-media_id-Beziehung; übergeordnete link-list-Beziehung
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Die freigegebene URL mit der übersetzten Zeilenkopie ist konsistent. Optionale Symbole verwenden aktive content-Katalog-Slugs und werden nur über sichere Symbol-, Ton- und Größenklassen gerendert. Eine optionale Bildminiaturansicht wird als wb-link-list-thumb in der einzelnen führenden Spalte der Zeile gerendert und übertrifft das Symbol, wenn beide festgelegt sind.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/link-list-item.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/link-list-item.blade.php
Renderer-Root-Vertrag Besitzt den Stamm der Zeilenverknüpfung, fügt wb-link-list-item--media hinzu, wenn eine Miniaturansicht oder ein Symbol gerendert wird, und lässt das Beschreibungselement weg, wenn content leer ist
Tests / Abdeckung LinkListBlockTest, LinkListThumbnailTest, PageBuilderExperienceTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest, PublicIconBadgeSupportTest

TOC — toc

Inhalt und Verhalten
Feld Vertrag
Slug toc
Bezeichnung TOC
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Nur kanonischer title
Medien-/Beziehungsfelder Im selben Slot veröffentlichte header-Blöcke mit gültigen Ankern
Kind-/Container-Verhalten Kein Container; historische Kindzeilen bleiben erhalten, aber neue Kindplatzierung wird nicht unterstützt
Aktueller Status clear
Bekannte Lücken / Hinweise TOC ist ein Systemblocktyp. Es scannt nur den Slot, in dem es platziert ist, nicht die gesamte Seite, wird in Dokumentreihenfolge durchsucht und behandelt beliebige untergeordnete Blöcke nicht mehr als öffentliches Inhaltsverzeichnis content.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/toc.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/toc.blade.php
Renderer-Root-Vertrag Besitzt seinen generierten TOC-Wrapper, wenn Überschriften vorhanden sind
Tests / Abdeckung PublicRichContentTest, PageBuilderExperienceTest, TocHeadingScanTest

Breadcrumb — breadcrumb

Inhalt und Verhalten
Feld Vertrag
Slug breadcrumb
Bezeichnung Breadcrumb
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Gemeinsames settings.home_label; settings.include_current
Medien-/Beziehungsfelder Breadcrumb-Kontext aus aktueller Seite, Site und Sprache (Locale)
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block bewahrt die offengelegten Breadcrumb-Einstellungen über den gemeinsamen BlockRequest-Pfad, sodass das Formularverhalten nun mit Persistenz und Rendering übereinstimmt.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/breadcrumb.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/breadcrumb.blade.php
Renderer-Root-Vertrag Besitzt das Stammverzeichnis <nav.wb-breadcrumb>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest

Header Actions — header-actions

Inhalt und Verhalten
Feld Vertrag
Slug header-actions
Bezeichnung Header Actions
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Gemeinsam genutzt settings.show_mode_toggle; settings.show_accent_toggle; settings.show_search; settings.show_language_switcher
Medien-/Beziehungsfelder Suchroute plus clientseitige UI-Hooks
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise System-Utility-Block; per Design keine Übersetzungsverantwortung.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/header-actions.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/header-actions.blade.php
Renderer-Root-Vertrag Besitzt nur sein inneres Aktions-Cluster
Tests / Abdeckung PublicEditorialBlocksRenderingTest

Navbar — sticky-navbar

Inhalt und Verhalten
Feld Vertrag
Slug sticky-navbar
Bezeichnung Navbar
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.sticky_mode
Medien-/Beziehungsfelder Verschachtelte untergeordnete Navbar-Blöcke
Kind-/Container-Verhalten Container; zulässige Kinder sind container, cluster, header, plain_text, rich-text, button_link, navbar-brand, navbar-navigation, header-actions, search-form
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block richtet den persistierten sticky-navbar-Slug an Block::ownsPublicRoot() aus, sodass die Navbar keinen zusätzlichen generischen öffentlichen Block-Wrapper mehr erhält.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sticky-navbar.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sticky-navbar.blade.php
Renderer-Root-Vertrag Der öffentliche Renderer besitzt das äußere <nav.wb-navbar>-Stammverzeichnis
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicLayoutStructureTest, BlockTypePhaseThreeContractsTest

Navbar Brand — navbar-brand

Inhalt und Verhalten
Feld Vertrag
Slug navbar-brand
Bezeichnung Navbar Brand
Kategorie navigation
Übersetzbare Felder title, subtitle über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.url; settings.target; settings.aria_label
Medien-/Beziehungsfelder Gemeinsames Logo-Medium über media_id; Fallback auf die Startseiten-URL der Site
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block richtet das Speicherverhalten im Admin am ausgelieferten Renderer-Vertrag aus: eine explizit gespeicherte URL gewinnt, andernfalls wird, falls verfügbar, der Startseitenpfad der aktuellen Site verwendet, danach / als letzter sicherer Fallback.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/navbar-brand.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/navbar-brand.blade.php
Renderer-Root-Vertrag Besitzt nur den inneren Markenlink
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest

Navbar Navigation — navbar-navigation

Inhalt und Verhalten
Feld Vertrag
Slug navbar-navigation
Bezeichnung Navbar Navigation
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder Canonical title als gemeinsames ARIA-Label; settings.menu_key; settings.active_indicator; settings.active_matching
Medien-/Beziehungsfelder Gemeinsamer NavigationItem-Menübaum
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Gemeinsame Menübindung, ARIA-Bezeichnung, aktiver Indikator und aktiver Abgleich sind aktuelles produkteigenes Verhalten.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/navbar-navigation.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/navbar-navigation.blade.php
Renderer-Root-Vertrag Besitzt nur den inneren navigation-Wrapper und ordnet aktive Indikatoreinstellungen den aktiven Navbar-Klassen WebBlocks UI zu
Tests / Abdeckung PublicEditorialBlocksRenderingTest

Sidebar Brand — sidebar-brand

Inhalt und Verhalten
Feld Vertrag
Slug sidebar-brand
Bezeichnung Sidebar Brand
Kategorie navigation
Übersetzbare Felder title, subtitle über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.url; settings.target; settings.aria_label
Medien-/Beziehungsfelder Gemeinsames Logo-Medium über media_id; Fallback auf die Startseiten-URL der Site
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block gibt Sidebar Brand dieselbe Fallback-Reihenfolge für den zugänglichen Namen bei reiner Logo-Darstellung wie Navbar Brand und denselben konservativen Fallback-Vertrag für die gemeinsame URL.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sidebar-brand.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sidebar-brand.blade.php
Renderer-Root-Vertrag Besitzt nur den inneren Markenlink
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest

Sidebar Navigation — sidebar-navigation

Inhalt und Verhalten
Feld Vertrag
Slug sidebar-navigation
Bezeichnung Sidebar Navigation
Kategorie navigation
Übersetzbare Felder title über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.menu_key; settings.layout_name; settings.show_icons; settings.active_matching
Medien-/Beziehungsfelder Entweder der CMS-NavigationItem-Baum oder manuelle untergeordnete Blöcke
Kind-/Container-Verhalten Container; nur sidebar-nav-item- und sidebar-nav-group-Kinder
Aktueller Status clear
Bekannte Lücken / Hinweise Sowohl die gemeinsamen Menümodus-Einstellungen als auch der manuelle Kindmodus sind explizit.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sidebar-navigation.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sidebar-navigation.blade.php
Renderer-Root-Vertrag Besitzt das Stammverzeichnis <nav.wb-sidebar-nav>
Tests / Abdeckung PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest

Sidebar Nav Item — sidebar-nav-item

Inhalt und Verhalten
Feld Vertrag
Slug sidebar-nav-item
Bezeichnung Sidebar Nav Item
Kategorie navigation
Übersetzbare Felder title über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.url; settings.target; settings.icon; settings.active_mode; settings.manual_active
Medien-/Beziehungsfelder Gemeinsamer Icon-Katalog-Slug; Beziehung zur übergeordneten Sidebar
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Gemeinsames Linkverhalten und übersetztes Label passen gut zusammen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sidebar-nav-item.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sidebar-nav-item.blade.php
Renderer-Root-Vertrag Besitzt seinen Sidebar-Link-Root
Tests / Abdeckung PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest

Sidebar Nav Group — sidebar-nav-group

Inhalt und Verhalten
Feld Vertrag
Slug sidebar-nav-group
Bezeichnung Sidebar Nav Group
Kategorie navigation
Übersetzbare Felder title über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.icon; settings.initially_open; settings.layout_name
Medien-/Beziehungsfelder Untergeordnete sidebar-nav-item-Blöcke; Icon-Katalog-Slug
Kind-/Container-Verhalten Container; nur sidebar-nav-item-Kinder
Aktueller Status clear
Bekannte Lücken / Hinweise Der Block behält den ausgelieferten WebBlocks-UI-Nav-Group-Wrapper-Vertrag bei, während verschachtelte manuelle Kindlinks nun dieselbe Sidebar-Item-Semantik für href, target, Icon und Aktiv-Zustand wiederverwenden.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sidebar-nav-group.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sidebar-nav-group.blade.php
Renderer-Root-Vertrag Besitzt seinen .wb-nav-group-Root
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PageBuilderExperienceTest, BlockTranslationIntegrityTest, BlockTypePhaseThreeContractsTest

Search Form — search-form

Inhalt und Verhalten
Feld Vertrag
Slug search-form
Bezeichnung Search Form
Kategorie navigation
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame variant; settings.show_button
Medien-/Beziehungsfelder Suchroute-, Site- und Sprachkontext (Locale)
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Gemeinsame Einstellungen zur Button-Anzeige und übersetzte Labels sind explizit.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/search-form.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/search-form.blade.php
Renderer-Root-Vertrag Besitzt das Stammverzeichnis <form role="search">
Tests / Abdeckung SearchFormTest, PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest
Feld Vertrag
Slug sidebar-footer
Bezeichnung Sidebar Footer
Kategorie navigation
Übersetzbare Felder title, subtitle, content über Textübersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.variant
Medien-/Beziehungsfelder Keine
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Gemeinsame Variante mit übersetztem Text ist unkompliziert.
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/sidebar-footer.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/sidebar-footer.blade.php
Renderer-Root-Vertrag Besitzt seinen inneren Footer-Block-Root
Tests / Abdeckung PublicEditorialBlocksRenderingTest, BlockTranslationIntegrityTest

Formulare

Contact Form — contact_form

Inhalt und Verhalten
Feld Vertrag
Slug contact_form
Bezeichnung Contact Form
Kategorie form
Übersetzbare Felder title, content, submit_label, success_message über Kontaktformular-Übersetzungszeilen
Geteilte/Einstellungsfelder Gemeinsame settings.recipient_email; settings.send_email_notification; settings.store_submissions
Medien-/Beziehungsfelder contact_messages-Einsendungen verweisen zurück auf den Block und die Seite
Kind-/Container-Verhalten Kein Container
Aktueller Status clear
Bekannte Lücken / Hinweise Der Renderer gibt ein CMS-eigenes, verstecktes, generiertes Anti-Spam-Prüffeld aus, das keine normale Besuchereingabe ist und nicht manuell erstellt werden sollte. Übermittlungen mit ausgefüllten Prüffeldern geben generischen Erfolg ohne Speicherung oder Benachrichtigung zurück. Legitime Nachrichten werden vor der Benachrichtigung gespeichert, bewerteter Spam wird zur Überprüfung durch den Administrator aufbewahrt, der Empfänger-Fallback ist „Blockieren“, „Site“, „CONTACT_RECIPIENT_EMAIL“, dann „MAIL_FROM_ADDRESS“ und auf den Kontaktseiten sollte nicht „Vertrauenswürdiges HTML/raw forms/mailto:“ als Ersatz verwendet werden. Internal Content API content-Pläne behalten submit_label und success_message bei, und die deutsche Gebietsschemawiedergabe verwendet deutsche Standardbezeichnungen form, wenn keine benutzerdefinierte Kopie vorhanden ist.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/contact_form.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/contact_form.blade.php
Renderer-Root-Vertrag Besitzt seinen section.wb-card-Root und gibt ein natives, CSRF-geschütztes Formular aus, das an /contact-messages sendet
Tests / Abdeckung ContactFormModuleTest, InternalContentApiTest, ContactMailDiagnoseCommandTest

Erweitert

HTML (Trusted) — html

Inhalt und Verhalten
Feld Vertrag
Slug html
Bezeichnung HTML (Trusted)
Kategorie advanced
Übersetzbare Felder Keine
Gemeinsame/Einstellungsfelder Kanonischer vertrauenswürdiger HTML-content
Medien-/Beziehungsfelder Öffentliche Overlay- und Body-End-Registries können extrahierte Fragmente erhalten
Kind-/Container-Verhalten Kein Container; historische untergeordnete Zeilen bleiben erhalten, neue Kindplatzierung wird jedoch nicht unterstützt
Aktueller Status mostly clear
Bekannte Lücken / Hinweise Der Block behandelt Trusted HTML nicht mehr als öffentlichen Kind-Container-Wrapper. Vertrauenswürdiges Markup kann die gemeinsame Overlay- oder Body-End-Ausgabe jenseits des sichtbaren Roots weiterhin beeinflussen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/html.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/html.blade.php
Renderer-Root-Vertrag Umschließt vertrauenswürdiges Markup mit einem <div> und kann zusätzlich Overlay- oder Body-End-Inhalte außerhalb dieser Wurzel ausgeben.
Tests / Abdeckung PublicEditorialBlocksRenderingTest, PublicRichContentTest, PageBuilderExperienceTest

Zusätzliche veröffentlichte Verträge

Schieberegler — slider

Inhalt und Verhalten
Feld Vertrag
Slug slider
Bezeichnung Schieberegler
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.layout_name; settings.height; settings.min_height; settings.aspect_ratio; settings.transition; settings.interval_ms; settings.autoplay; settings.pause_on_hover; settings.show_arrows; settings.show_dots; settings.loop; settings.swipe; settings.keyboard; settings.overlay; settings.content_position; settings.content_width; settings.text_color; settings.background_fit
Medien-/Beziehungsfelder Untergeordnete slide-Blöcke sind die primäre Beziehung. Slider selbst unterstützt keinen direkten Medieneigentum.
Kind-/Container-Verhalten Containerfähig. Der zulässige untergeordnete Typ ist slide.
Aktueller Status clear
Bekannte Lücken / Hinweise Keine
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/slider.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/slider.blade.php
Renderer-Root-Vertrag Besitzt den öffentlichen <section data-wb-slider>-Root, die interne Spur, die Steuerelemente und den Punkt navigation.
Tests / Abdeckung SliderContentPositionTest

Folie — slide

Inhalt und Verhalten
Feld Vertrag
Slug slide
Bezeichnung Folie
Kategorie layout
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder media_id; settings.layout_name; settings.aria_label; settings.background_position; settings.background_overlay; settings.content_position; settings.content_width; settings.text_color; settings.background_fit; mobile_media_id
Medien-/Beziehungsfelder Das optionale Hintergrundmedium slide ist über die direkte Blockbeziehung media_id im Besitz. Untergeordnete Blöcke sind die sichtbare content-Beziehung.; mobile_media_id weist einen Bildmedienbibliothekseintrag über block_media.mobile_image zu. Senden Sie null an clear zur Überschreibung.
Kind-/Container-Verhalten Containerfähig. Untergeordnete Typen sind im aktuellen Hilfsprogramm nicht explizit eingeschränkt.
Aktueller Status clear
Bekannte Lücken / Hinweise Keine
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/slide.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/slide.blade.php
Renderer-Root-Vertrag besitzt sein öffentliches Stammverzeichnis <article class="wb-slide"> und delegiert sichtbare Kopien/Benutzeroberflächen an verschachtelte untergeordnete Blöcke. Bei Ansichtsfensterbreiten von bis zu 768 Pixel überschreibt ein öffentliches mobiles Bild das Standardbild durch Bild/Quelle oder das Hintergrundbild; Fehlende oder nicht verfügbare Überschreibungen verwenden das Standardbild.
Tests / Abdeckung SliderContentPositionTest

Navigation Auto — navigation-auto

Inhalt und Verhalten
Feld Vertrag
Slug navigation-auto
Bezeichnung Navigation Auto
Kategorie navigation
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.menu_key
Medien-/Beziehungsfelder Der aktuelle Site- und Gebietsschemakontext löst die gerenderte Menüstruktur zum Zeitpunkt des Renderns auf.
Kind-/Container-Verhalten Kein Container. Menüelemente stammen aus Navigationsdatensätzen, nicht aus untergeordneten Blöcken.
Aktueller Status clear
Bekannte Lücken / Hinweise Keine
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/navigation-auto.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/navigation-auto.blade.php
Renderer-Root-Vertrag Besitzt sein öffentliches <nav class="wb-stack wb-gap-2" data-wb-menu-key="...">-Stammverzeichnis und stellt den sichtbaren Menübaum als verschachtelte <ul>-Listen von wb-link-Ankern dar.
Tests / Abdeckung ManagedCtaApiTest

Bewertung — rating

Inhalt und Verhalten
Feld Vertrag
Slug rating
Bezeichnung Bewertung
Kategorie system
Übersetzbare Felder Titel; Untertitel
Geteilte/Einstellungsfelder settings.scale; settings.allow_change; settings.show_summary; settings.data_scope
Medien-/Beziehungsfelder Aktuelle Seite, Site, Block, Besucher-Hash und Quell-URL werden in rating-Zeilen aufgezeichnet.
Kind-/Container-Verhalten Kein Container im aktuellen Vertrag.
Aktueller Status clear
Bekannte Lücken / Hinweise Keine
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/rating.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/rating.blade.php
Renderer-Root-Vertrag Besitzt sein öffentliches section.wb-card.wb-rating-Stammverzeichnis, rendert eine optionale lokalisierte Titel-/Untertitelkopie, einen schreibgeschützten wb-rating-stars-Durchschnitt und ein wb-rating-input-Sternformular ohne JS, das jeden Beitrag an /content-ratings sendet.
Tests / Abdeckung EngagementManagementTest

Kommentare — comments

Inhalt und Verhalten
Feld Vertrag
Slug comments
Bezeichnung Kommentare
Kategorie system
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.form_enabled; settings.show_approved; settings.show_author_name; settings.sort_order; settings.data_scope
Medien-/Beziehungsfelder Aktuelle Seite, Site, Block, Besucher-Hash und Quell-URL werden in Kommentarzeilen aufgezeichnet.
Kind-/Container-Verhalten Kein Container im aktuellen Vertrag.
Aktueller Status clear
Bekannte Lücken / Hinweise Keine
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/comments.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/comments.blade.php
Renderer-Root-Vertrag Besitzt sein öffentliches Stammverzeichnis section.wb-card, gibt genehmigtes comments wieder und gibt ein natives CSRF-geschütztes Kommentarformular aus, das an /comment-entries postet.
Tests / Abdeckung EngagementManagementTest

Seitenliste — page-list

Inhalt und Verhalten
Feld Vertrag
Slug page-list
Bezeichnung Seitenliste
Kategorie content
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.scope; settings.page_type; settings.path_prefix; settings.sort; settings.limit; settings.layout; settings.columns; settings.show_thumbnail; settings.show_description; settings.exclude_current; settings.clickable_card
Medien-/Beziehungsfelder Kein Blockmedium. Miniaturansichten werden aus jeder aufgelisteten Seitenübersetzung zum Zeitpunkt des Renderns aufgelöst.
Kind-/Container-Verhalten Kein Container. Zeilen stammen aus einer Seitenabfrage, nicht aus untergeordneten Blöcken.
Aktueller Status clear
Bekannte Lücken / Hinweise Kartenbeschreibungen und Miniaturansichten verwenden die SEO-Beschreibung und das Open Graph-Bild wieder, die für die Suche und soziale Netzwerke und nicht für eine Karte erstellt wurden. Dedizierte Seiteneinstellungen list_excerpt und list_image sind geplant.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/page-list.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/page-list.blade.php
Renderer-Root-Vertrag besitzt seinen öffentlichen Stamm: ein wb-grid mit wb-card-Artikeln oder Ganzkartenankern in den Karten layout oder ein wb-link-list mit wb-link-list-item-Ankern in den Links layout. Rendert nichts, wenn die Abfrage keine Seiten zurückgibt.
Tests / Abdeckung PageListBlockRenderTest

Anwendung — application

Inhalt und Verhalten
Feld Vertrag
Slug application
Bezeichnung Anwendung
Kategorie content
Übersetzbare Felder Keine
Geteilte/Einstellungsfelder settings.application_handle; settings.application_settings; settings.width; settings.loading; settings.aspect_ratio; settings.min_height; settings.show_loading_state; settings.show_failure_state
Medien-/Beziehungsfelder Keine direkte CMS-Medienbeziehung. Ausführbare application-Assets sind Dateien im Besitz der Registrierung, keine redaktionellen Medien.
Kind-/Container-Verhalten Kein Container. Die application-Laufzeit besitzt ihr internes DOM.
Aktueller Status clear
Bekannte Lücken / Hinweise Anwendungscode- und Registrierungsverwaltung bleiben von der redaktionellen Platzierung getrennt; Der Block wählt eine aktivierte Definition aus und validiert ihre Einstellungen.
Quellen und Tests
Quelle Vertrag
Quelle des Admin-Formulars resources/views/admin/blocks/types/application.blade.php
Quelle des öffentlichen Renderers resources/views/pages/partials/blocks/application.blade.php
Renderer-Root-Vertrag Besitzt einen .wb-application-Root. Inline-Definitionen erhalten ein sicheres Mount-Element; Iframe-Definitionen erhalten einen CMS-eigenen Iframe-Wrapper. Fehlende oder ungültige Definitionen beeinträchtigen niemals die umgebende Seite.
Tests / Abdeckung EmbeddedApplicationsTest

Überblick über Validierung und Persistenz

Veröffentlichte Blocktypen haben heute nicht alle ihre eigene dedizierte Anforderungsklasse.

  • WebBlocks\Cms\Http\Requests\Admin\BlockRequestist der Pfad der gemeinsamen Bearbeitungsanforderung
  • Slug-spezifische Zweige innerhalb dieser Anforderung normalisieren Felder im aktuellen kanonischen Speicher
  • WebBlocks\Cms\Support\Blocks\BlockPayloadWriterBehält die normalisierte Blocknutzlast bei
  • WebBlocks\Cms\Support\Blocks\BlockTranslationWriterverschiebt gebietsschemaeigene Felder in Übersetzungszeilen für registrierte Familien
  • WebBlocks\Cms\Support\Blocks\BlockTranslationResolverLöst übersetzte oder Fallback-Werte zurück auf eine renderbare Blockinstanz

Kompatibilitätsverhalten

Legacy-Einstellungen von Gallery und Table können bei fehlenden kanonischen Übersetzungen oder geordneten Medien lesbar bleiben. Historische Fallbacks sind kein bevorzugtes Authoring-Format. Nutzen Sie die aktuelle Blockmatrix.

Entwurfszeilen und reine Renderer-Kompatibilitätshandles sind keine veröffentlichten Kernverträge. Discovery und schreibgeschützter Vertragsdialog können für sie keinen ausgelieferten Vertrag melden.

Medien- und Editor-Ergänzungen bis 1.94.2

Ab CMS 1.91.0 unterstützen Folie, Bild, Held, Abschnitt, Karte, CTA, Inhaltskopfzeile und Linklistenelement optionales mobile_media_id in Plänen und Aktualisierungen vorhandener Blöcke. Die Beziehung verwendet block_media.role = mobile_image, wird länderübergreifend gemeinsam genutzt und ersetzt das Standardbild mit bis zu 768 Pixeln durch ein Fallback, wenn es nicht verfügbar ist. Es werden keine separaten Alternativtexte oder Untertitel für Mobilgeräte eingeführt. Siehe Medienbildvarianten.

Ab 1.91.1 bieten Slide und Slider neun Inhaltspositionen: Mitte, Mitte-Links, Mitte-Rechts, Oben-Links, Oben-Mitte, Oben-Rechts, Unten-Links, Unten-Mitte und Unten-Rechts. Diese Werte werden vom Administrator, der API und dem Renderer geteilt.

Ab 1.93.0 verfügt der Rich-Text-Editor über Rückgängigmachen/Wiederherstellen pro Feld, Auswahlwiederherstellung, Fokusmodus und Wortanzahl. Eingefügte Überschriften und Tabellenzellentext bleiben als sichere Textabsätze erhalten; semantische Überschriften, Tabellen und Medien gehören in eigene Blöcke. Dadurch wird keine neue gespeicherte Rich-Text-Variante hinzugefügt und kein ausführbares Markup zugelassen. Siehe Rich Text.