PHPackages                             restruct/silverstripe-groupable-gridfield - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. restruct/silverstripe-groupable-gridfield

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

restruct/silverstripe-groupable-gridfield
=========================================

This module allows drag &amp; drop grouping of items in a GridField

3.0.0(6mo ago)7133↓50%9MITPHPCI failing

Since May 27Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/restruct/silverstripe-groupablegridfield)[ Packagist](https://packagist.org/packages/restruct/silverstripe-groupable-gridfield)[ RSS](/packages/restruct-silverstripe-groupable-gridfield/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (15)Used By (0)

SilverStripe GridField Groupable
================================

[](#silverstripe-gridfield-groupable)

[![Build Status](https://camo.githubusercontent.com/d031666161cf22e2ab886f6672f068ed29332bc05cbb43f14ca2f37b7bcd86a9/68747470733a2f2f7472617669732d63692e6f72672f72657374727563742f73696c7665727374726970652d67726f757061626c652d677269646669656c642e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/restruct/silverstripe-groupable-gridfield)[![codecov.io](https://camo.githubusercontent.com/4fe31bc3d948c6ba9d5a96c0e2fd538583e99aede7f9f95aaa7b9c5fd1047907/68747470733a2f2f636f6465636f762e696f2f6769746875622f72657374727563742f73696c7665727374726970652d67726f757061626c652d677269646669656c642f636f7665726167652e7376673f6272616e63683d6d6173746572)](https://codecov.io/github/restruct/silverstripe-groupable-gridfield?branch=master)

This module facilitates drag &amp; drop grouping of items in a GridField.
It bolts on top of- and depends on GridFieldOrderableRows for the drag &amp; drop sorting functionality.
Allows adding new 'groups' on the fly when configured with a MultiValueField to store them.
Groups themselves can also be reordered (drag-drop, experimental).

[![groupable](https://private-user-images.githubusercontent.com/1005986/493261141-caeca7e8-cc46-4c5d-9b54-93d92f4ba6a6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ4NDI1NjIsIm5iZiI6MTc3NDg0MjI2MiwicGF0aCI6Ii8xMDA1OTg2LzQ5MzI2MTE0MS1jYWVjYTdlOC1jYzQ2LTRjNWQtOWI1NC05M2Q5MmY0YmE2YTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMzMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMzBUMDM0NDIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjgxODQxOWI3ZTUwNTU2MWVlZmI5YTQzZDU1NGE5ZTU0M2M0Zjc3NWQ0NjI5MmI2NzNiZmNiMzkxYjliNDQ4NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.WxGV0aOaysQMMMSuF14maUIU_rrEJSbJ6LBxL_8m_-E)](https://private-user-images.githubusercontent.com/1005986/493261141-caeca7e8-cc46-4c5d-9b54-93d92f4ba6a6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQ4NDI1NjIsIm5iZiI6MTc3NDg0MjI2MiwicGF0aCI6Ii8xMDA1OTg2LzQ5MzI2MTE0MS1jYWVjYTdlOC1jYzQ2LTRjNWQtOWI1NC05M2Q5MmY0YmE2YTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMzMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMzBUMDM0NDIyWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MjgxODQxOWI3ZTUwNTU2MWVlZmI5YTQzZDU1NGE5ZTU0M2M0Zjc3NWQ0NjI5MmI2NzNiZmNiMzkxYjliNDQ4NCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.WxGV0aOaysQMMMSuF14maUIU_rrEJSbJ6LBxL_8m_-E)NOTE: currently slightly 'WIP'
------------------------------

[](#note-currently-slightly-wip)

We found a (Silverstripe 3) project in which quite a lot of development was done on this module which never got published (a.o. group reordering). These updates + additions have now been included + updated in this module but may still need a bit of work/debugging.

- **Updated namespace** `micsck\GroupableGridfield` -&gt; `Restruct\Silverstripe\GroupableGridfield`

Usage:
------

[](#usage)

```
$gfConfig = GridFieldConfig::create()
    // setup your config as usual, must include orderable rows
    ->addComponent(new GridFieldOrderableRows())
    // add Groupable + AddNewGroupButton
    ->addComponent(new GridFieldAddNewGroupButton('buttons-before-right'))
    ->addComponent(new GridFieldGroupable(
        'Phase', // field on subjects to hold group key
        $this->fieldLabel('Phase'), // label of group field
        'none', // fallback/unassigned group name
        null, // (fixed) list of available groups (key value), set to null to use MultiValue field instead
        'Phases' // name of MultiValueField on source record to provide groups (allows adding new on-the-fly)
    ));
```

Thanks
------

[](#thanks)

- [TITLE WEB SOLUTIONS](http://title.dk/) for sponsoring the initial development of this module

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance77

Regular maintenance activity

Popularity22

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~274 days

Recently: every ~30 days

Total

14

Last Release

75d ago

Major Versions

0.5 → 1.02020-07-18

1.0.2 → 2.0.02025-09-24

2.0.0 → 3.0.02025-10-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d3680d6353e5f171543435b89965ba2588186ad7ec0ec97cbf572704fec2a4f?d=identicon)[micschk](/maintainers/micschk)

---

Top Contributors

[![micschk](https://avatars.githubusercontent.com/u/1005986?v=4)](https://github.com/micschk "micschk (16 commits)")[![hubertusanton](https://avatars.githubusercontent.com/u/582188?v=4)](https://github.com/hubertusanton "hubertusanton (4 commits)")[![mak001](https://avatars.githubusercontent.com/u/1750550?v=4)](https://github.com/mak001 "mak001 (2 commits)")[![jelicanin](https://avatars.githubusercontent.com/u/692844?v=4)](https://github.com/jelicanin "jelicanin (1 commits)")[![muskie9](https://avatars.githubusercontent.com/u/870751?v=4)](https://github.com/muskie9 "muskie9 (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/restruct-silverstripe-groupable-gridfield/health.svg)

```
[![Health](https://phpackages.com/badges/restruct-silverstripe-groupable-gridfield/health.svg)](https://phpackages.com/packages/restruct-silverstripe-groupable-gridfield)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1321.0M72](/packages/silverstripe-userforms)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
