Skip to content

View-Designer

Der Doggy View-Designer ist ein visuelles Werkzeug für Seitenlayouts. Er unterstützt Drag-and-Drop-Design, Datenquellen-Bindung, Live-Vorschau, KI-Verbesserung und Versionsverwaltung.

Übersicht

Das View-System basiert auf den folgenden Entitäten (src/Entity/Platform/):

  • View.php: View-Definition (Layout-Konfiguration, Datenquelle, Versionsinformationen)
  • ViewField.php: Konfiguration jedes Feldes innerhalb einer View

Der Verwaltungseinstieg liegt in App\Controller\Admin\Platform\ViewEditorController, der API-Einstieg in ViewEditorApiController.

View-Struktur

View
├── 布局配置(栅格行/列)
├── 字段绑定(ViewField)
│   ├── 数据表格
│   ├── 表单
│   ├── 统计卡片
│   └── 文本内容
├── 数据源配置
└── 版本目录(1_0/, 2_0/...)

Verwendung

  1. Zu Low-Code-Plattform → View-Verwaltung navigieren (/admin/platform/view)
  2. Neue View klicken
  3. View-Layout bearbeiten (editor.html.twig)
  4. Komponentenattribute und Datenquellen konfigurieren
  5. Vorschau anzeigen (editor_section_properties.html.twig)
  6. Speichern und veröffentlichen

KI-Verbesserung

Der View-Editor ist tiefgehend mit dem AI-Assistenten integriert:

  • Schwebendes KI-Panel: über den schwebenden Button unten rechts auf allen Seiten geöffnet
  • Kontext-Registrierung: der Editor registriert automatisch den Kontext view_editor
  • Operationen in natürlicher Sprache: "Diesen Text in Titelstil umwandeln"
  • Tool-Aufrufe: view.getInfo, view.updateSectionConfig, view.updateFieldConfig, view.listEntityFields
  • Intent-Erkennung + Sub-Agents: Views für Formulare/Berichte/Landingpages usw. mit einem Klick generieren (siehe KI-View-Verbesserung)

Zusätzlich wird die Tailwind-CSS-Layout-Unterstützung (auf Basis der Twind-Laufzeit) unterstützt:

  • Schnelles Layout: Utility-Klassen wie flex/grid/Abstände/Breiten-Höhen
  • Koexistenz mit vorhandenen Inline-Stilen, keine Konflikte
  • Produktions-Frontend lädt bedarfsgerecht, kein Build-Schritt erforderlich

Datenquellen-Bindung

Die Datenquelle einer View wird über die Entität DataSource.php konfiguriert und unterstützt:

  • Entitätsdatenquelle: bindet Daten der dynamischen Modelle
  • API-Datenquelle: ruft benutzerdefinierte APIs auf
  • Statische Datenquelle: feste Daten

Code-Generierung

Nach dem Speichern der View generiert das System entsprechende Twig-Templatedateien im Verzeichnis templates/views/:

templates/views/
├── hello/
│   └── 1_0/
│       ├── hello.html.twig
│       └── hello.design.twig
└── 组织架构/
    └── post_management/
        └── 1_0/
            ├── post_management.html.twig
            └── post_management.design.twig

Die generierten Templates können direkt verwendet oder weiterentwickelt werden.

Versionsverwaltung

Views unterstützen eine Mehrversionsverwaltung (jede Version entspricht einem Satz unabhängiger Twig-Dateien):

  • Version wechseln: eine Version als aktuelle Version aktivieren
  • Version hinzufügen: aus der aktuellen Version kopieren oder eine leere Version neu erstellen
  • Gelöschte Views wandern in den Papierkorb (wiederherstellbar)
  • Der Editor arbeitet versionsbasiert und kann explizit über ?version=... angegeben werden

Zugehörige Dienste

  • FormFieldBuilderService.php: Aufbau von Formularfeldern
  • ViewFolderType.php, ViewType.php: Definition der Formulartypen
  • AiChatController.php: KI-Dialog-Schnittstelle
  • ViewAiTaskApiController.php: Schnittstelle für KI-Verbesserungsaufgaben

Open Source unter MIT | Copyright © 2026 Doggy