Adds a level of nesting to a CheckboxSetField using a has_many/has_one relationship

v1.2 2019-11-20 01:32 UTC

This package is auto-updated.

Last update: 2024-07-20 11:42:06 UTC


This adds an extra level to a CheckboxSetField, which provides some structure to a large dataset.

Example Usage

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).

class Page extends SiteTree { static $many_many = array( 'PageTags' => 'Tag' );

public function getCMSFields() {
    $fields = parent::getCMSFields();

        NestedCheckboxSetField::create('PageTags', 'Page Tags')


class Tag extends DataObject { static $db = array( 'Title' => 'Varchar(100)' );

static $has_one = array(
    'Category' => 'TagCategory'


class TagCategory extends DataObject { static $db = array( 'Title' => 'Varchar(100)' );

static $has_many = array(
    'Tags' => 'Tag'