Загрузить изображение с помощью UploadField в форме веб-интерфейса Silverstripe 4.0

Я не могу загружать изображения через форму интерфейса в Silverstripe. Я посмотрел на пример по этому страница но это не помогло мне. Обновление текстовых полей работает нормально. Мой код размещен ниже, что я пропустил?

public function ChecklistForm()
{
$checklist = Checklist::get()->byID($this->request->param('ID'));

$form = Form::create(
$this,
__FUNCTION__,
FieldList::create(
TextField::create('Object','')
->addExtraClass('form-control')
->setAttribute('placeholder','Object')
->setAttribute('value', $checklist->Object),
TextField::create('Contact','')
->addExtraClass('form-control')
->setAttribute('placeholder','Contact')
->setAttribute('value', $checklist->Contact),
TextField::create('Address','')
->addExtraClass('form-control')
->setAttribute('placeholder','Address')
->setAttribute('value', $checklist->Address),
HiddenField::create('ChecklistId','')
->setAttribute('value', $this->request->param('ID')),
UploadField::create('Images','Upload Images')
->setFolderName('checklist-images')

),
FieldList::create(
FormAction::create('handleChecklist','Update Checklist')
->setUseButtonTag(true)
->addExtraClass('btn btn-default-color btn-lg')
),
RequiredFields::create('Object','Contact','Address')
)
->addExtraClass('form-style');

return $form;
}

public function handleChecklist($data, $form)
{
$checklist = Checklist::get()->byID($data['ChecklistId']);

$checklist->Object = $data['Object'];
$checklist->Contact = $data['Contact'];
$checklist->Address = $data['Address'];
$form->saveInto($checklist);
$checklist->write();

$form->sessionMessage('Checklist has been updated!','good');

return $this->redirectBack();
}

3

Решение

Вы пропускаете запятую после:

HiddenField::create('ChecklistId','')
->setAttribute('value', $this->request->param('ID'))
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]