webbuilders-group /silverstripe-statefulunsavedlist
GridField组件,允许在管理关系右侧的现有对象时,将未保存的many_many关系列表存储在GridField的状态和会话中
dev-master
2016-03-23 12:32 UTC
Requires
- php: >=5.3.2
- composer/installers: *
- silverstripe/cms: ~3.1
- silverstripe/framework: ~3.1
This package is auto-updated.
Last update: 2024-08-29 02:26:42 UTC
README
GridField组件允许在管理关系右侧的现有对象时,将未保存的many_many关系列表存储在GridField的状态和会话中。
维护者联系方式
- Ed Chipman (UndefinedOffset)
需求
- SilverStripe Framework 3.1.x
安装
composer require webbuilders-group/silverstripe-statefulunsavedlist
如果您愿意,也可以手动安装
- 从这里下载模块https://github.com/webbuilders-group/silverstripe-statefulunsavedlist/archive/master.zip
- 将下载的存档解压到您的站点根目录,使得目标文件夹名为statefulunsavedlist,解压后的文件夹中应该包含根目录下的_config.php以及其他文件/文件夹
- 运行dev/build?flush=all以重新生成清单
用法
要使用此模块,您需要在初始化GridField时使用StatefulGridField
而不是GridField
。请注意,目前此模块不支持has_many关系,它只支持many_many关系。与has_many关系一起使用可能会导致不期望的结果。
#####之前
$fields->push(new GridField('ExampleRelation', 'Example Relation', $this->ExampleRelation(), GridFieldConfig_RelationEditor::create(10)));
#####之后
$fields->push(new StatefulGridField('ExampleRelation', 'Example Relation', $this->ExampleRelation(), GridFieldConfig_RelationEditor::create(10)));
##关于第三方组件的说明某些第三方组件可能因本模块修改了包含hash的url地址而出现问题,因为这个hash用于在请求中没有传递时从会话中移除GridState。可能没有考虑到url中已经附加了参数的第三方组件可能无法正常工作。建议您首先在该组件模块中提交问题,但也可能需要在这里首先提出问题以便调查。