pixelpoems / silverstripe-grouped-tabs
Silverstripe module that allows grouped tabs for ModelAdmins.
Package info
github.com/pixelpoems/silverstripe-grouped-tabs
Language:Scheme
Type:silverstripe-vendormodule
pkg:composer/pixelpoems/silverstripe-grouped-tabs
2.0.0
2026-04-17 15:03 UTC
Requires
- silverstripe/cms: ^6
This package is auto-updated.
Last update: 2026-04-17 15:08:20 UTC
README
Silverstripe module that allows grouped tabs for ModelAdmins.
Requirements
- Silverstripe CMS ^6.0
For CMS 5 use Tag ^1
Installation
composer require pixelpoems/silverstripe-grouped-tabs
Usage
GroupedModelAdmin
<?php namespace App\Admins; use Pixelpoems\GroupedTabs\Admins\GroupedModelAdmin; class MyAdmin extends GroupedModelAdmin { private static string $url_segment = 'myadmin'; private static string $menu_title = 'MyAdmin'; private static array $managed_models = [ DataObject1::class, DataObject2::class, DataObject3::class, 'project' => [ 'title' => 'Project', 'dataClasses' => [ ProjectDataObject1::class, ProjectDataObject2::class, ProjectDataObject3::class, ProjectDataObject4::class, ] ], DataObject4::class, DataObject5::class, DataObject6::class, DataObject7::class, 'grouped' => [ 'title' => 'Grouped', 'dataClasses' => [ GroupedDataObject1::class, GroupedDataObject2::class, ] ], ]; }
In the translation ymls you can add the title of the grouped like this:
en: App\Admins\MyAdmin: project: 'Project' grouped: 'Grouped'
GroupedModelAdmin
public function getCMSFields(): FieldList { $fields = parent::getCMSFields(); $fields->addFieldToTab('Root', GroupedTab::create('Additional', 'Additional')); $fields->addFieldsToTab('Root.Additional.AdditonalTab1', [ TextField::create('ABC', _t(self::class . '.ABC', 'ABC')), ]); $fields->addFieldsToTab('Root.Additional.AdditonalTab2', [ TextField::create('ABC2', _t(self::class . '.ABC2', 'ABC2')), HTMLEditorField::create('Content2', _t(self::class . '.Content', 'Content')) ]); return $fields; }
Display
The Grouping looks like this in the CMS:
![]()
Reporting Issues
Please create an issue for any bugs you've found, or features you're missing.