terraformers/scaffolded-fields

配置要保留和删除哪些自动生成的字段。

安装: 1

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 10

分支: 0

开放问题: 22

类型:silverstripe-vendormodule


README

配置要保留和删除哪些自动生成的字段。

概述

SilverStripe CMS默认为您创建CMS字段,这对于快速启动项目非常有用,因为您不需要做任何事情来定义您的CMS字段。这由字段生成器处理,它会生成这些自动生成的字段。然而,许多项目将使用自定义CMS字段,这些字段不需要自动生成的字段。相反,自动生成的字段通常会成为障碍。

最显著的情况

  • 在特定位置插入新字段
  • 更改自动生成字段的顺序
  • 更改自动生成字段的结构

结论

  • 与从头开始定义字段相比,自定义自动生成的字段需要更多努力
  • 与从头开始定义相比,自定义自动生成字段的顺序需要更多努力

在这种情况下,最好简单地删除自动生成的字段,并在项目代码中重新定义它们。这种方法使得CMS字段定义更易于阅读,因为所有字段都在一个地方定义。项目代码也更容易维护,因为您不需要支持看起来像自动生成字段以供自定义或重新排序的代码。

安装

composer require silverstripe-terraformers/scaffolded-fields dev-master
  • Terraformers\ScaffoldedFields\Extension 应用到您选择的数据对象
  • 提供字段删除配置

配置

指定需要保留哪些字段以及需要删除哪些字段。配置是一组规则。每个规则由以下内容组成

  • 属性 (db, has_one, has_many, many_manyextra)
  • 类型 (keepremove),当使用 extra 属性时不需要此选项
  • 字段列表,指定配置应用于哪些字段名

示例配置

DNADesign\Elemental\Models\BaseElement:
  extensions:
    - Terraformers\ScaffoldedFields\Extension
  field_removal:
    - # remove all db fields except Title and ShowTitle
      property: db
      type: keep
      fields:
        Title
        ShowTitle
    - # remove all has_one fields
      property: has_one
      type: keep
    - # remove LinkTracking, FileTracking and BackLinkTracking fields from many_many
      property: many_many
      type: remove
      fields:
        LinkTracking
        FileTracking
        BackLinkTracking
    - # remove Settings field (not part of any static property)
      property: extra
      fields:
        Settings