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
- Zu Low-Code-Plattform → View-Verwaltung navigieren (
/admin/platform/view) - Neue View klicken
- View-Layout bearbeiten (
editor.html.twig) - Komponentenattribute und Datenquellen konfigurieren
- Vorschau anzeigen (
editor_section_properties.html.twig) - 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.twigDie 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 FormularfeldernViewFolderType.php,ViewType.php: Definition der FormulartypenAiChatController.php: KI-Dialog-SchnittstelleViewAiTaskApiController.php: Schnittstelle für KI-Verbesserungsaufgaben