如何使用Silverstripe 3 beta UploadField

如何使用Silverstripe 3 beta UploadField,silverstripe,Silverstripe,我试图使用前端的UploadField供用户上传他们的公司徽标 关于UploadField的文档还不多。我也试过,但到目前为止运气不好 有人可以指导我如何使用它吗?上载字段通过对象中的Can*()方法检查权限 为了允许前端编辑-您可能必须在自定义对象中重载File::canEdit(或Image::canEdit)才能处理此问题。上载字段通过对象中的can*()方法检查权限 为了允许前端编辑,您可能必须在自定义对象中重载File::canEdit(或Image::canEdit)来处理此问题。这

我试图使用前端的UploadField供用户上传他们的公司徽标

关于UploadField的文档还不多。我也试过,但到目前为止运气不好


有人可以指导我如何使用它吗?

上载字段通过对象中的Can*()方法检查权限


为了允许前端编辑-您可能必须在自定义对象中重载File::canEdit(或Image::canEdit)才能处理此问题。

上载字段通过对象中的can*()方法检查权限


为了允许前端编辑,您可能必须在自定义对象中重载File::canEdit(或Image::canEdit)来处理此问题。

这有点旧,但如果有人像我一样偶然发现此问题

UploadField在前端工作。我无法使用saveInto函数保存到多个关系中。但是我错过的最大的一件事是DataObject/页面需要首先存在,因为在您可以附加像图像这样的相关对象之前,需要先保存它

static $has_one = array(
    "Photo" => "Image"
);

$fields = new FieldList(
    new UploadField( 'Photo', 'Upload' )
);

function saveForm( $data, $form ) {
    $object = new DataObject();
    // for a new object write before saveinto
    $object->write();
    $form->saveInto($object);
    $object->write();
    Director::redirectBack();
}
使用SS3.0.1


或者,不使用saveinto函数,您可以手动循环参数并将其附加到对象上,以获得许多图像。

这有点旧,但如果有人像我一样偶然发现了这一点

UploadField在前端工作。我无法使用saveInto函数保存到多个关系中。但是我错过的最大的一件事是DataObject/页面需要首先存在,因为在您可以附加像图像这样的相关对象之前,需要先保存它

static $has_one = array(
    "Photo" => "Image"
);

$fields = new FieldList(
    new UploadField( 'Photo', 'Upload' )
);

function saveForm( $data, $form ) {
    $object = new DataObject();
    // for a new object write before saveinto
    $object->write();
    $form->saveInto($object);
    $object->write();
    Director::redirectBack();
}
使用SS3.0.1


或者,不使用saveinto函数,您可以手动循环参数,并将它们附加到对象上,以获得许多图像。

似乎还没有太多涉及uploadfield的文档,因此目前我们只讨论代码本身(uploadfield类中有一些注释)。我猜3.0 stable发布后,这种情况很快就会好转。似乎还没有太多关于uploadfield的文档,所以目前我们只剩下代码本身(uploadfield类中有一些注释)。我猜当3.0稳定版发布后,情况会很快好转。嗨,Tim,从SS文档中可以看出upload字段可以“保存到关系中”。我的数据对象中有一个has-one关系,例如,静态$has_-one=array('ProfilePhoto'=>'Image');。当我使用名为“ProfilePhoto”的上载字段创建表单时,它能够成功上载,但似乎无法保存到关系中。我创建了上传字段,代码如下:newuploadfield('ProfilePhoto','ProfilePhoto');你有什么想法吗?嗨,乔,让你知道-我现在也遇到了同样的问题,正在努力找到一个好的解决办法。我一找到什么就告诉你!干杯据我所知,UploadField尚未为前端做好准备,因此这很可能是UploadField中的一个bug。它计划让它在前端工作,但到目前为止还没有人有时间去做,我想,要修复的todo和Bug的列表相当长:SHi Tim,从SS文档中可以看出upload字段能够“保存到关系中”。我的数据对象中有一个has-one关系,例如,静态$has_-one=array('ProfilePhoto'=>'Image');。当我使用名为“ProfilePhoto”的上载字段创建表单时,它能够成功上载,但似乎无法保存到关系中。我创建了上传字段,代码如下:newuploadfield('ProfilePhoto','ProfilePhoto');你有什么想法吗?嗨,乔,让你知道-我现在也遇到了同样的问题,正在努力找到一个好的解决办法。我一找到什么就告诉你!干杯据我所知,UploadField尚未为前端做好准备,因此这很可能是UploadField中的一个bug。它计划让它在前端工作,但到目前为止还没有人有时间去做,我想,要修复的todo和bug的列表相当长:s