ucenna / silverstripe-sectioned-gridfield
将子网格添加到您的网格字段。
Requires
- silverstripe/cms: ^4.0
- silverstripe/framework: ^4.0
This package is not auto-updated.
Last update: 2024-09-29 05:31:57 UTC
README
需求
安装
composer require ucenna/silverstripe-sectioned-gridfield
使用
Sectioned GridField 扩展了 GridField 类,尽管添加了一些功能,允许组件修改/扩展网格行。配置在两者之间基本相同。
$fields->addFieldToTab('Root.Regions', SectionedGridField::create( 'Regions', 'Region', $this->Regions(), new GridFieldConfig_ManyEditor('Items') ));
GridFieldConfig_ManyEditor
GridFieldConfig_ManyEditor
是一个实现了 GridFieldSubGrid
组件的 GridFieldConfig,它接受一个 $has_many
或 many_many
以解析为子 GridField。它可以可选地传递一个用于解析子 GridField 的 GridFieldConfig,如下所示:new GridFieldConfig_ManyEditor('Items', new GridFieldConfig_RecordEditor())
。如果没有指定 GridFieldConfig,则默认使用 GridFieldConfig_Min
。
GridFieldSubGrid
GridFieldSubGrid
是一个组件,它打开网格的子字段并将其展开为其自己的容器网格字段。它可以添加到预构建的 GridFieldConfigs,例如 GridFieldConfig_Base
和 GridFieldConfig_RecordEditor
,或用于创建新的 GridFieldConfig。
$config->addComponent(new GridFieldSubGrid('Field to Expand'[, GridFieldConfig]));
GridFieldSubGrid
接收要展开的字段项目名称,并可选地接收一个用于展开该字段项目的 GridFieldConfig。如果没有指定 GridFieldConfig,则默认使用 GridFieldConfig_Min
。
GridFieldConfig_Min
是一个小型 GridFieldConfig,旨在与 GridFieldSubGrid
一起很好地工作。可以使用其他 GridFieldConfigs 替换它,但它们可能不会格式化得很好。
限制
目前,GridFieldSubGrid
与排序和筛选组件(如 GridFieldSortableHeader
)不兼容。这些组件仍然可以访问并且仍然与 GridFieldSubGrid
一起工作;实际上,GridFieldConfig_Min
和 GridFieldConfig_ManyEditor
使用它们,但它们的排序和筛选功能已被禁用。如果我可以想出一种实现它们的方法,我可能会稍后修复它们。