Sections

Sections

Sections sind die Bausteine einer Seite. Jede Section enthält Komponenten und hat eigene Styling-Optionen.

Endpunkte

MethodeEndpunktBeschreibung
GET/api/v1/editor/grid-sections-filesAlle Sections auflisten
POST/api/v1/editor/grid-sections-filesNeue Section erstellen
GET/api/v1/editor/grid-sections-files/{id}Einzelne Section abrufen
PUT/api/v1/editor/grid-sections-files/{id}Section aktualisieren
DELETE/api/v1/editor/grid-sections-files/{id}Section löschen

Das Section-Objekt

{ "id": "sec_abc123", "pageId": "page_xyz789", "projectId": "proj_def456", "type": "hero", "name": "Hero Banner", "order": 0, "visible": true, "content": { "headline": { "de": "Willkommen", "en": "Welcome" }, "subheadline": { "de": "Ihr Partner für digitale Lösungen", "en": "Your partner for digital solutions" }, "cta": { "text": { "de": "Mehr erfahren", "en": "Learn more" }, "link": "/about" } }, "styles": { "backgroundColor": "#1a1a2e", "textColor": "#ffffff", "padding": { "top": 80, "bottom": 80 }, "backgroundImage": "https://cdn.codefluss.com/media/hero_bg.jpg", "backgroundOverlay": "rgba(0,0,0,0.5)" }, "responsive": { "mobile": { "padding": { "top": 40, "bottom": 40 } } }, "createdAt": "2026-01-12T10:00:00Z", "updatedAt": "2026-01-22T16:00:00Z" }

Attribute

AttributTypBeschreibung
idstringEindeutige Section-ID
pageIdstringZugehörige Seite
projectIdstringZugehöriges Projekt
typestringSection-Typ (z.B. hero, features, cta)
namestringAnzeigename im Editor
orderintegerReihenfolge auf der Seite
visiblebooleanOb die Section sichtbar ist
contentobjectInhaltsdaten (mehrsprachig)
stylesobjectStyling-Konfiguration
responsiveobjectResponsive Anpassungen
createdAtstringErstellungszeitpunkt
updatedAtstringLetzte Aktualisierung

Section-Typen

CODEFLUSS unterstützt verschiedene vordefinierte Section-Typen:

TypBeschreibung
heroHero-Banner mit Headline und CTA
featuresFeature-Grid oder -Liste
ctaCall-to-Action Bereich
testimonialsKundenstimmen-Karussell
pricingPreistabelle
faqFAQ-Akkordeon
galleryBildergalerie
contactKontaktformular
textFreier Textbereich
videoVideo-Embed
customBenutzerdefinierte Section

Sections auflisten

GET /api/v1/editor/grid-sections-files

Query-Parameter

ParameterTypDefaultBeschreibung
pageIdstringPflichtSeiten-ID
visiblebooleanFilter nach Sichtbarkeit

Beispiel-Response

{ "success": true, "data": [ { "id": "sec_001", "type": "hero", "name": "Hero Banner", "order": 0, "visible": true }, { "id": "sec_002", "type": "features", "name": "Feature Grid", "order": 1, "visible": true }, { "id": "sec_003", "type": "cta", "name": "Newsletter CTA", "order": 2, "visible": false } ] }

Section erstellen

POST /api/v1/editor/grid-sections-files

Request-Body

{ "pageId": "page_xyz789", "projectId": "proj_def456", "type": "features", "name": "Unsere Vorteile", "order": 1, "content": { "title": { "de": "Warum wir?", "en": "Why us?" }, "items": [ { "icon": "rocket", "title": { "de": "Schnell", "en": "Fast" }, "description": { "de": "Blitzschnelle Ladezeiten", "en": "Lightning fast loading" } }, { "icon": "shield", "title": { "de": "Sicher", "en": "Secure" }, "description": { "de": "Höchste Sicherheitsstandards", "en": "Highest security standards" } } ] }, "styles": { "backgroundColor": "#f8f9fa", "padding": { "top": 60, "bottom": 60 } } }

Section aktualisieren

PUT /api/v1/editor/grid-sections-files/{id}

Inhalt aktualisieren

{ "content": { "headline": { "de": "Aktualisierte Überschrift", "en": "Updated Headline" } } }

Reihenfolge ändern

{ "order": 2 }

Sichtbarkeit ändern

{ "visible": false }

Styles-Objekt

Das styles-Objekt unterstützt folgende Eigenschaften:

{ "styles": { // Farben "backgroundColor": "#ffffff", "textColor": "#1a1a2e", "accentColor": "#3b82f6", // Hintergrund "backgroundImage": "url(...)", "backgroundSize": "cover", "backgroundPosition": "center", "backgroundOverlay": "rgba(0,0,0,0.3)", // Abstände "padding": { "top": 80, "right": 20, "bottom": 80, "left": 20 }, "margin": { "top": 0, "bottom": 0 }, // Layout "maxWidth": 1280, "alignment": "center", // Animation "animation": "fade-in", "animationDuration": 0.5, "animationDelay": 0 } }

Responsive-Objekt

Definieren Sie Breakpoint-spezifische Überschreibungen:

{ "responsive": { "tablet": { "padding": { "top": 60, "bottom": 60 }, "styles": { "textAlign": "center" } }, "mobile": { "padding": { "top": 40, "bottom": 40 }, "visible": true, "content": { "showDescription": false } } } }

Breakpoints

BreakpointBildschirmbreite
desktop≥1280px
laptop1024px - 1279px
tablet768px - 1023px
mobile<768px

Section duplizieren

Es gibt keinen direkten Duplikat-Endpunkt. Erstellen Sie stattdessen eine neue Section mit den Daten der bestehenden:

// 1. Bestehende Section abrufen const original = await fetch(`/api/v1/editor/grid-sections-files/${sourceId}`); const data = await original.json(); // 2. Neue Section erstellen const duplicate = await fetch('/api/v1/editor/grid-sections-files', { method: 'POST', body: JSON.stringify({ ...data.data, id: undefined, name: `${data.data.name} (Kopie)`, order: data.data.order + 1 }) });

Section löschen

DELETE /api/v1/editor/grid-sections-files/{id}

Hinweis: Beim Löschen werden die order-Werte der nachfolgenden Sections automatisch angepasst.

Fehler

CodeBeschreibung
400Ungültiger Section-Typ oder Content-Format
401Nicht authentifiziert
403Keine Berechtigung
404Section nicht gefunden

Nächste Schritte