1

我正在尝试在前端使用 UploadField 供用户上传他们的公司徽标。

UploadField 上还没有太多文档。我已经尝试过了,但到目前为止还没有运气。

谁能指导我如何使用它?

4

2 回答 2

1

这有点旧,但如果其他人像我一样偶然发现这个。

UploadField 确实在前端工作。我无法使用 saveInto 函数保存到 many_many 关系中。但我错过的最大的事情是 DataObject/Page 需要首先存在,因为它需要先保存,然后才能附加相关对象(如图像)。

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();
}

使用 ss 3.0.1

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

于 2012-09-30T01:51:05.317 回答
0

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

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

于 2012-06-25T06:23:05.940 回答