【发布时间】:2017-05-16 15:47:28
【问题描述】:
我为SiteConfig 创建了一个简单的扩展,以将徽标上传字段添加到设置部分。但是,服务器在上传文件时返回错误。
SiteConfig.php
namespace mymodule\siteconfig;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Forms\FieldList;
use SilverStripe\AssetAdmin\Forms\UploadField;
class SiteConfig extends DataExtension {
private static $has_one = array(
'Logo' => 'SilverStripe\\Assets\\File'
);
public function updateCMSFields(FieldList $fields) {
$fields->addFieldToTab('Root.Main', $logo = UploadField::create('Logo', 'Logo upload'));
}
}
服务器的错误日志没有显示与此错误相关的任何内容。这是怎么回事?
更新
我刚刚尝试将文件上传到 CMS 中的“文件”部分,得到了完全相同的错误。
【问题讨论】:
-
我认为您可能需要将 $has_one 数组设置更改为:'Logo' => 'Image'
-
'Logo' => 'Image' 不起作用,因为全局类在 ss4 中消失了。首选 'Logo' => File::class 或 'Image' => Image::class 将 FQCN 硬编码为字符串。至于错误,它不太可能与您的代码有关。 503 很可能是您的环境问题。
标签: php silverstripe silverstripe-4