我们有一个对象与 Silverstripe 项目中的辅助对象具有has_one
关系。辅助对象具有多个has_one
字段
class IceCream extends DataObject
{
private static $has_one = [
'Cone' => 'Cone'
]
}
class Cone extends DataObject
{
private static $has_one = [
'Size' => 'Size',
'Pattern' => 'Pattern'
]
}
我们希望能够从 CMS 中的IceCream
对象编辑辅助对象Cone
。创建新Cone
记录或链接现有Cone
记录。
如果Cone
处于many_many
关系中,我们可以将Gridfield
与共生体/银条纹-网格扩展模块一起使用。并使用GridFieldAddExistingSearchButton
和GridFieldAddNewInlineButton
扩展。
有没有办法用这种行为来建立has_one
关系?
我已经研究了使用stevie-mayhew/hasoneedit模块,但它似乎只允许has_one
字段的内联编辑(在本例中为Size
和Pattern
(,并且似乎不允许用户链接现有的Cone
记录。
我们如何在 CMS 中创建一个字段,允许用户链接或创建has_one
记录 - 最好是内联或作为模态?
您可以使用几个模块来执行此操作。
我们的偏好是 https://github.com/satrun77/silverstripe-hasoneselector,其他一些社区成员更喜欢使用 https://github.com/silvershop/silverstripe-hasonefield,这也是相当广泛使用 https://github.com/gorriecoe/silverstripe-linkfield 的依赖关系。就支持而言,可能是更好的选择。