dev-master
9999999-dev https://github.com/madmatt/silverstripe-nestedcheckboxsetfieldAdds a level of nesting to a CheckboxSetField using a has_many/has_one relationship
WTFPL
The Requires
by Matt Peel
silverstripe forms
Adds a level of nesting to a CheckboxSetField using a has_many/has_one relationship
This adds an extra level to a CheckboxSetField, which provides some structure to a large dataset., (*1)
The below will produce a set of nested fields where each Tag (which is selectable) sits under a Tag Category (just a heading, not selectable)., (*2)
class Page extends SiteTree { static $many_many = array( 'PageTags' => 'Tag' );, (*3)
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->insertBefore( NestedCheckboxSetField::create('PageTags', 'Page Tags') ->setRootClass('TagCategory') ->setRootTitle('Title') ->setChildRelation('Tags') ->setChildTitle('Title'), 'Content' ); }
}, (*4)
class Tag extends DataObject { static $db = array( 'Title' => 'Varchar(100)' );, (*5)
static $has_one = array( 'Category' => 'TagCategory' );
}, (*6)
class TagCategory extends DataObject { static $db = array( 'Title' => 'Varchar(100)' );, (*7)
static $has_many = array( 'Tags' => 'Tag' );
}, (*8)
Adds a level of nesting to a CheckboxSetField using a has_many/has_one relationship
WTFPL
silverstripe forms