SilverStripe GridField Components set for bulk upload and bulk record edit, unlink & delete 📦💥
Go to file
colymba 56a4bb4681 FIX: delay JS remplate loading
template was still loaded before UploadField.js, now loaded on document
ready()
2012-07-18 12:37:15 +03:00
code FIX: delay JS remplate loading 2012-07-18 12:37:15 +03:00
css Initial commit with files 2012-07-16 23:39:01 +03:00
javascript FIX: delay JS remplate loading 2012-07-18 12:37:15 +03:00
_config.php Initial commit with files 2012-07-16 23:39:01 +03:00
README.md Updating readme 2012-07-18 02:27:28 +03:00

GridFieldBulkImageUpload

SilverStripe 3 GridField component for uploading images in bulk into the managed DataObject relation, with option to edit fields on the fly. This component is built around the CMSFileAddController editForm, it overrides and adds some behaviors, templates and styles.

Requirments

  • SilverStripe 3.0

Installation

  • Download and copy module in SilverStripe root directory under 'GridFieldBulkImageUpload'
  • Run dev/build?flush=all to regenerate the manifest
  • run ?flush=all in CMS to force the templates to regenerate

Usage 1

Simplest usage, add the component to your GridField as below. The component will find the first Image has_one relation on the managed object and it's editable db fields

	:::php
	$config->addComponent(new GridFieldBulkImageUpload());

Usage 2

Same as 1 but you can specify which Image field to use and which fields are editable $imageField: The name of the image field to use (should have 'ID' at the end: If your relation is set has 'MyImage' => 'Image', the parameter should be 'MyImageID') $editableFields: An array of db fields name that will be editable like array('myTextField', 'myVarcharField', 'myEnumField')

	:::php
	$config->addComponent(new GridFieldBulkImageUpload( $imageField, $editableFields ));

Notes

  • The HTML form fields for each editable fields are taken from the DataObject's getCMSFields() method
  • Only (HTML)Text/Varchar and Enum fields are picked up by the automatic config

TODO

  • Add option to specify upload folder