alt

updateFrontEndFields(&$fields) works, but gives warnings saying the declaration should be compatible with DataExtension::updateFrontEndFields($fields)

alt

I tried updateFrontEndFields($fields) but this didn't seem to have any effect when adding new fields

alt

hey, what's the correct way to have an extension update frontend fields of a dataobject?

alt

slightly related - if I try and use updateFrontEndFields on a data extension, new fields get ignored unless I make $fields passed by reference - the trouble is that means I get a warning about the function not being compatible

alt

Can UploadField be used on the frontend?

jkersu

There was this issue earlier: https://github.com/silverstripe/silverstripe-asset-admin/issues/810

I tend to just use a FileField instead on the frontend

Show 1 attachment(s)
GitHub  
UploadField not supported in frontend? · Issue #810 · silverstripe/silverstripe-asset-admin

Is UploadField still supported in the frontend for SS4? Can't seem to make it work after hours of digging $fields->push( UploadField::create('Images', 'Upload Images') ); I h...

Hide attachment content
Ed Linklater

When I needed more than a FileField, I usually ended up finding it easier to just use one of the nice JS file upload tools (e.g. https://www.dropzonejs.com/) and make a controller for it to upload to

Show 1 attachment(s)
Dropzone  
Dropzone.js

DropzoneJS is an open source library that provides beautiful and easy to use drag'n'drop file uploads with image previews.

Hide attachment content
jkersu

There’s a couple of SS4 Dropzone modules available that might be worth having a look at or you can just make your own version like @Ed Linklater suggested

alt

it would have been obvious if I'd just been looping datafields

👍 (1)
alt

otherwise it fails validation, and the validation message doesn't show

alt

and if you have a dropdown field in the php side of the field list it must be in the form, even if it's not required

alt

I have a custom form template that grabs named formfields to put them in the correct place