A component for uploading images and/or files in bulk into DataObject
managed by the GridField
.
Simplest usage, add the component to your GridFieldConfig
as below. The component will find the first Image
or File
has_one relation to use on the managed DataObject
.
$config->addComponent(new \Colymba\BulkUpload\BulkUploader());
You can specify which Image
or File
field to use and a specific DataObject
class name to use.
$fileRelationName (string, optional): The name of the Image
or File
has_one field to use (If your relation is set has 'MyImage' => 'Image', the parameter should be 'MyImage')
$recordClassName (string, optional): The class name of the DataObject
to create (Usefull if for example your GridField
holds DataObject
s of different classes, like when used with the GridFieldAddNewMultiClass
component.)
$config->addComponent(new \Colymba\BulkUpload\BulkUploader($fileRelationName, $recordClassName));
The component's option can be configurated through the setConfig
functions like this:
$config->getComponentByType('Colymba\\BulkUpload\\BulkUploader')->setConfig($reference, $value);
The available configuration options are:
- 'fileRelationName' : sets the name of the
Image
orFile
has_one field to use (i.e. 'MyImage')
The underlying UploadField
can be configured via a set of APIs:
setUfConfig($reference, $value)
is used to set anUploadField::$ufConfig
settingssetUfSetup($function, $param)
is used to pass function calls on to theUploadField
itselfsetUfValidatorSetup($function, $param)
is used to pass function calls on to theUploadField
Validator
itself
For example, to set the upload folder, which is set by calling setFolderName
on the UploadField
, and setting the upload method as sequential, you would use the following:
$config->getComponentByType('Colymba\\BulkUpload\\BulkUploader')
->setUfSetup('setFolderName', 'myFolder')
->setUfConfig('sequentialUploads', true);
Please see the UploadField
api and the Upload
api for more info.
To get a quick edit shortcut to all the newly upload files, please also add the Colymba\BulkManager\BulkManager
component to your GridFieldConfig
.