sort('FirstName')->First(); $detailFields = singleton(Category::class)->getCMSFields(); $detailFields->addFieldsToTab( 'Root.Main', array( new CheckboxField('ManyMany[IsPublished]'), new TextField('ManyMany[PublishedBy]') ) ); $categoriesField = new GridField('testfield', 'testfield', $person->Categories()); $categoriesField->getConfig()->addComponent( $gridFieldForm = new GridFieldDetailForm( $this, 'SilverStripe\\Forms\\Form' ) ); $gridFieldForm->setFields($detailFields); $categoriesField->getConfig()->addComponent(new GridFieldToolbarHeader()); $categoriesField->getConfig()->addComponent(new GridFieldAddNewButton('toolbar-header-right')); $categoriesField->getConfig()->addComponent(new GridFieldEditButton()); $favGroupsField = new GridField('testgroupsfield', 'testgroupsfield', $person->FavouriteGroups()); /** @skipUpgrade */ $favGroupsField->getConfig()->addComponent(new GridFieldDetailForm($this, 'Form')); $favGroupsField->getConfig()->addComponent(new GridFieldToolbarHeader()); $favGroupsField->getConfig()->addComponent(new GridFieldAddNewButton('toolbar-header-right')); $favGroupsField->getConfig()->addComponent(new GridFieldEditButton()); $fields = new FieldList($categoriesField, $favGroupsField); /** @skipUpgrade */ return new Form($this, 'Form', $fields, new FieldList()); } }