Skip to content

ビューデザイナー

Doggy ビューデザイナーはビジュアルなページレイアウトツールで、ドラッグ&ドロップ設計、データソースバインド、リアルタイムプレビュー、AI 拡張、バージョン管理をサポートします。

概要

ビューシステムは以下のエンティティに基づいて構築されます(src/Entity/Platform/):

  • View.php: ビュー定義(レイアウト設定、データソース、バージョン情報)
  • ViewField.php: ビュー内の各フィールドの設定

管理の入口は App\Controller\Admin\Platform\ViewEditorController、API の入口は ViewEditorApiController です。

ビュー構造

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

使用方法

  1. ローコードプラットフォーム → ビュー管理/admin/platform/view)に入る
  2. 新規ビューをクリック
  3. ビューレイアウトを編集(editor.html.twig
  4. コンポーネントの属性とデータソースを設定
  5. 効果をプレビュー(editor_section_properties.html.twig
  6. 保存して公開

AI 拡張

ビューエディタは AI アシスタント と深く統合されています:

  • フローティング AI パネル: すべてのページの右下にあるフローティングボタンで開く
  • コンテキスト登録: エディタは自動的に view_editor コンテキストを登録
  • 自然言語操作: "このテキストを見出しスタイルに変更"
  • ツール呼び出し: view.getInfoview.updateSectionConfigview.updateFieldConfigview.listEntityFields
  • 意図認識 + 子 Agent: ワンクリックでフォーム/レポート/ランディングページなどのシナリオビューを生成(AI ビュー拡張 を参照)

さらに Tailwind CSS レイアウトアシスト(Twind ランタイムベース)をサポート:

  • クイックレイアウト: flex/grid/スペーシング/幅高さなどの utility class
  • 既存の inline style と共存し、互いに干渉しない
  • 本番フロントエンドはオンデマンドで読み込み、ビルドステップ不要

データソースバインド

ビューデータソースは DataSource.php エンティティで設定され、以下をサポート:

  • エンティティデータソース: 動的モデルのデータをバインド
  • API データソース: カスタム API を呼び出し
  • 静的データソース: 固定データ

コード生成

ビューを保存すると、システムは対応する Twig テンプレートファイルを 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

生成されたテンプレートは直接利用するか、二次開発できます。

バージョン管理

ビューはマルチバージョン管理をサポートします(各バージョンは独立した一連の twig ファイルに対応):

  • バージョン切り替え: あるバージョンを現行バージョンとしてアクティベート
  • 新バージョン追加: 現行バージョンからコピーするか、空のバージョンを新規作成
  • ビューを削除するとゴミ箱に入る(復元可能)
  • エディタはバージョン単位で動作し、?version=... を明示的に指定可能

関連サービス

  • FormFieldBuilderService.php: フォームフィールド構築
  • ViewFolderType.phpViewType.php: フォームタイプ定義
  • AiChatController.php: AI 対話インターフェース
  • ViewAiTaskApiController.php: AI 拡張タスクインターフェース

MIT ライセンスでオープンソース | Copyright © 2026 Doggy