在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中的Cone
对象编辑辅助对象IceCream
。创建新的Cone
记录或链接现有的Cone
记录。
如果Cone
与many_many
之间存在关系,我们可以将Gridfield
与symbiote/silverstripe-gridfieldextensions模块一起使用。并使用GridFieldAddExistingSearchButton
和GridFieldAddNewInlineButton
扩展名。
反正有这种行为可用于has_one
关系吗?
我已经使用stevie-mayhew/hasoneedit模块进行了调查,但它似乎仅支持对has_one
字段(在此示例中为Size
和Pattern
)进行内联编辑,并且没有似乎允许用户链接现有的Cone
记录。
我们如何在CMS中创建一个字段,该字段允许用户链接或创建has_one
记录-最好是内联或作为模式?
答案 0 :(得分:2)
您可以使用几个模块来完成此操作。
我们的偏好是https://github.com/satrun77/silverstripe-hasoneselector,其他一些社区成员更喜欢使用https://github.com/silvershop/silverstripe-hasonefield,这也是相当广泛使用的https://github.com/gorriecoe/silverstripe-linkfield的依赖项。就支持而言,可能是更好的选择。