Version 4
end of life
This version of Silverstripe CMS will not recieve any additional bug fixes or documentation updates.
Go to documentation for the most recent stable version.
Tabbed forms
Silverstripe CMS's FormScaffolder can automatically generate Form instances for certain database models. In the CMS and other scaffolded interfaces, it will output TabSet and Tab objects and use jQuery Tabs to split parts of the data model.
All interfaces within the CMS such as ModelAdmin and LeftAndMain use tabbed interfaces by default.
When dealing with tabbed forms, modifying the fields in the form has a few differences. Each Tab will be given a
name, and normally they all exist under the Root
TabSet.
Adding a field to a tab
$fields->addFieldToTab('Root.Main', new TextField(/* ... */));
Removing a field from a tab
$fields->removeFieldFromTab('Root.Main', 'Content');
Creating a new tab
$fields->addFieldToTab('Root.MyNewTab', new TextField(/* ... */));
Moving a field between tabs
$content = $fields->dataFieldByName('Content');
$fields->removeFieldFromTab('Root.Main', 'Content');
$fields->addFieldToTab('Root.MyContent', $content);
Add multiple fields at once
$fields->addFieldsToTab('Root.Content', [
TextField::create('Name'),
TextField::create('Email'),
]);