simonwelsh/hasoneedit

此包已被弃用,不再维护。作者建议使用 stevie-mayhew/hasoneedit 包代替。

允许在 CMS 中直接编辑 has_one 对象的字段

安装: 336

依赖项: 0

建议者: 0

安全: 0

星星: 1,028

分支: 130

语言:Hack

类型:silverstripe-module

2.2.2 2015-07-14 17:48 UTC

This package is not auto-updated.

Last update: 2019-02-20 17:32:47 UTC


README

此模块允许您直接编辑相关 has_one 对象的字段,而无需使用 GridField 或 ModelAdmin 的链接。如果相关的 has_one 对象尚不存在,则此模块还会在第一次写入时为您创建对象并设置关系。

此模块已在 GridFieldDetailForm 和 CMSMain 中的通用页面中测试过编辑 has_one。

要求

SilverStripe 3.x。

此模块已在 3.0.x-dev 和 3.1.x-dev 上进行测试。没有为两个不同的 Framework 分支提供单独的版本。

用法

要使用此模块,只需在您的 getCMSFields() 方法中为您的对象添加一个 CMS 字段。字段的名称应该是 HasOneName-_1_-FieldName

例如,假设您有一个名为 Show 的 has_one,它有一个名为 Title 的字段,您想要编辑。您会添加字段 TextField::create('Show-_1_-Title', 'Show 标题')

如果您不需要输出的字段名称与您提供的值匹配,您也可以使用冒号作为分隔符而不是 -_1_-

与您自己的表单一起使用

要为您的表单添加支持,您需要将 sgn_hasoneedit_UpdateFormExtension 扩展添加到控制器中,并在返回表单到模板之前调用 $this->extend('updateEditForm', $form)。否则,字段将不会用 has_one 的值填充,尽管保存将正常工作。