在Silverstripe 4中,上传的文件必须先发布,然后才能对网站的公共方面显示.
如果我使用$ has_one Image :: Class创建$ Page,然后将该图像分配给$ owns [],则在我发布页面时将发布上传的图像.
但是,如果我创建以下数据对象结构,它将不会.
Class Item extends DataObject{
$has_one[
'ItemImage'=>Image::Class,
'Catalog'=>'Catalog'
];
$owns[
'ItemImage'
]
}
Class Catalog extend DataObject{
$has_many[
'Items'=>'Item'
]
$owns[
'Items'
]
public function getCMSFields(){
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Items', GridField::create('Items', 'Items', $this->Items(), GridFieldConfig_RecordEditor::create()));
return $fields;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我创建了一个目录,并在其中创建带有图像的项目然后保存它,它将不会发布上传的图像.我将不得不手动:1.选择图像2.编辑原始3.发布
必须有一种更简单的方式为用户.