goldfinch/json-editor

处理JSON数据不可或缺的工具。使处理任何JSON模式变得简单,并为Silverstripe模板调整输出

安装次数: 1,132

依赖项: 7

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:silverstripe-vendormodule

v2.0.2 2024-05-14 01:40 UTC

This package is auto-updated.

Last update: 2024-09-14 02:33:05 UTC


README

Silverstripe Version Package Version Total Downloads License

处理JSON数据不可或缺的工具。使处理任何JSON模式在用户友好的界面中变得简单,并为Silverstripe模板调整输出。

此模块在内部使用json-editor。请参阅其README了解有关JSON Schema、所有字段类型、属性和可用的选项的更多信息。

Screenshot

安装

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.phpJson字段,因此我们的模式文件应该命名为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)