ucenna / silverstripe-sectioned-gridfield

将子网格添加到您的网格字段。

安装: 272

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 2

开放问题: 0

类型:silverstripe-vendormodule

0.8.0 2018-04-13 16:15 UTC

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_manymany_many 以解析为子 GridField。它可以可选地传递一个用于解析子 GridField 的 GridFieldConfig,如下所示:new GridFieldConfig_ManyEditor('Items', new GridFieldConfig_RecordEditor())。如果没有指定 GridFieldConfig,则默认使用 GridFieldConfig_Min

Example Image

GridFieldSubGrid

GridFieldSubGrid 是一个组件,它打开网格的子字段并将其展开为其自己的容器网格字段。它可以添加到预构建的 GridFieldConfigs,例如 GridFieldConfig_BaseGridFieldConfig_RecordEditor,或用于创建新的 GridFieldConfig。

$config->addComponent(new GridFieldSubGrid('Field to Expand'[, GridFieldConfig]));

GridFieldSubGrid 接收要展开的字段项目名称,并可选地接收一个用于展开该字段项目的 GridFieldConfig。如果没有指定 GridFieldConfig,则默认使用 GridFieldConfig_Min

GridFieldConfig_Min

是一个小型 GridFieldConfig,旨在与 GridFieldSubGrid 一起很好地工作。可以使用其他 GridFieldConfigs 替换它,但它们可能不会格式化得很好。

限制

目前,GridFieldSubGrid 与排序和筛选组件(如 GridFieldSortableHeader)不兼容。这些组件仍然可以访问并且仍然与 GridFieldSubGrid 一起工作;实际上,GridFieldConfig_MinGridFieldConfig_ManyEditor 使用它们,但它们的排序和筛选功能已被禁用。如果我可以想出一种实现它们的方法,我可能会稍后修复它们。