ModelAdmin 中的 Silverstripe 文件关系未发布
Silverstripe File relation in ModelAdmin doesnt publish
我正在使用 SilverStripe4 和 ModelAdmin 来管理数据对象。
DataObject 在文件上有一个 has_one。到目前为止一切正常,但在前端控制器上,文件关系有一个空对象。
我看到该文件不在 File_Live table 中,所以我猜它没有发布,因此在前端控制器上找不到它。
如何从 ModelAdmin 发布文件关系?
基本上当一个文件被上传时它应该被自动发布。
我想如果我使用版本化的数据对象,我仍然需要这样的东西:https://github.com/drzax/silverstripe-bits/tree/master/VersionedModelAdmin
在 ModelAdmin 上有发布机制。
或者 SS4 中有内置的东西吗?
这也会级联到文件关系吗?
编辑:
关于版本化的数据对象,SS4 中有一个内置的发布按钮
只需使用:
private static $extensions = [
Versioned::class,
];
private static $versioned_gridfield_extensions = true;
您可以将以下内容添加到您的数据对象中:
private static $owns = ['FileRelationName'];
具有关系的示例:
private static $has_one = ['File' => File::class];
private static $owns = ['File'];
以这种方式声明为 "owned" 的任何相关对象都将与 DataObject
本身一起发布。
我正在使用 SilverStripe4 和 ModelAdmin 来管理数据对象。
DataObject 在文件上有一个 has_one。到目前为止一切正常,但在前端控制器上,文件关系有一个空对象。
我看到该文件不在 File_Live table 中,所以我猜它没有发布,因此在前端控制器上找不到它。
如何从 ModelAdmin 发布文件关系? 基本上当一个文件被上传时它应该被自动发布。
我想如果我使用版本化的数据对象,我仍然需要这样的东西:https://github.com/drzax/silverstripe-bits/tree/master/VersionedModelAdmin
在 ModelAdmin 上有发布机制。
或者 SS4 中有内置的东西吗? 这也会级联到文件关系吗?
编辑: 关于版本化的数据对象,SS4 中有一个内置的发布按钮 只需使用:
private static $extensions = [
Versioned::class,
];
private static $versioned_gridfield_extensions = true;
您可以将以下内容添加到您的数据对象中:
private static $owns = ['FileRelationName'];
具有关系的示例:
private static $has_one = ['File' => File::class];
private static $owns = ['File'];
以这种方式声明为 "owned" 的任何相关对象都将与 DataObject
本身一起发布。