goldfinch / json-editor
处理JSON数据不可或缺的工具。使处理任何JSON模式变得简单,并为Silverstripe模板调整输出
v2.0.2
2024-05-14 01:40 UTC
Requires
- php: >=8.0
- goldfinch/helpers: ^2.0
- goldfinch/taz: ^2.0
- silverstripe/admin: ^2.0
- silverstripe/framework: ^5.0
README
处理JSON数据不可或缺的工具。使处理任何JSON模式在用户友好的界面中变得简单,并为Silverstripe模板调整输出。
此模块在内部使用json-editor。请参阅其README了解有关JSON Schema、所有字段类型、属性和可用的选项的更多信息。
安装
composer require goldfinch/json-editor
可用的Taz命令
如果您之前没有使用过Taz🌪️,则在根项目文件夹中必须存在taz文件cp vendor/goldfinch/taz/taz taz
创建模式文件
php taz make:json-schema
用法
use Goldfinch\JSONEditor\Forms\JSONEditorField; use Goldfinch\JSONEditor\ORM\FieldType\DBJSONText; private static $db = [ 'Json' => DBJSONText::class, ]; public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab( 'Root.Main', [ JSONEditorField::create('Json', 'Json', $this), ] ); return $fields; }
✳️ 您也可以使用一个扩展。
Page: extensions: - Goldfinch\JSONEditor\Extensions\JsonDataExtension
每个JSON字段都必须有一个模式文件。模式文件存储在app/_schema
目录中。
基于上面的示例,我们可以这样说,我们的Page.php
有Json
字段,因此我们的模式文件应该命名为Page-Json.json
,遵循{class_name}-{field_name}.json
模式。
示例
1) 创建模式文件
使用Taz🌪️生成您的模式文件。它将快速引导您完成设置,并为您处理。
php taz make:json-schema
2) 在Silverstripe模板中输出JSON数据。
在这一步,我们可以去CMS添加一些JSON数据来试验。一旦我们完成,我们可以使用熟悉的Silverstripe语法输出我们的纯JSON数据。
<% with $Json.Parse %> <% loop Me %> <div><strong>Enabled:</strong> <% if enabled %>yes<% else %>no<% end_if %></div> <div><strong>First name:</strong> $firstname</div> <div><strong>Last name:</strong> $lastname</div> <div><strong>Cars:</strong> <% loop cars %><% if not IsFirst %>, <% end_if %>$Me<% end_loop %></div> <div><strong>About:</strong> $about</div> <% end_loop %> <% end_with %>
许可证
MIT许可证(MIT)