This module allows drag & drop grouping of items in a GridField. It bolts on top of- and depends on GridFieldOrderableRows for the drag & drop sorting functionality
Example application (Block Enhancements module): assign content blocks to block-areas by drag & drop
composer require micschk/silverstripe-groupable-gridfield
- SilverStripe Framework ~4.0
- SilverStripe GridFieldExtensions
$grid = new GridField(
'ExampleGrid',
'Example Grid',
$this->Items(),
$gfConfig = GridFieldConfig::create()
->addComponent(new GridFieldToolbarHeader())
->addComponent(new GridFieldTitleHeader())
->addComponent(new GridFieldEditableColumns())
->addComponent(new GridFieldOrderableRows())
->addComponent(new GridFieldFooter())
);
// add Groupable (example from BlockEnhancements module)
$gfConfig->addComponent(new GridFieldGroupable(
'BlockArea', // The fieldname to set the Group
'Area', // A description of the function of the group
'none', // A title/header for items without a group/unassigned
array( // List of available values for the Group field
'BeforeContent' => 'Before Content',
'AfterContent' => 'Before Content',
)
));
TITLE WEB SOLUTIONS for sponsoring the isolation of this module out of Blocks Enhancements