simonwelsh / hasoneedit
2.2.2
2015-07-14 17:48 UTC
Requires
- hhvm: ~3.6
Requires (Dev)
- 91carriage/phpunit-hhi: 4.5.*
- phpunit/phpunit: 4.5.*
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 的值填充,尽管保存将正常工作。