A grid-based content block system for SilverStripe 6 CMS — structured Section → Row → Column layouts with configurable CSS framework adapters (Bootstrap, Tailwind, Bulma).
- PHP ^8.3
- silverstripe/framework ^6.0, silverstripe/cms ^6.0, silverstripe/admin ^3.0, silverstripe/versioned ^3.0, silverstripe/vendor-plugin ^3.0
- unclecheese/display-logic ^4.0, wedevelopnl/silverstripe-media-field ^6.0
- Node >= 24 (only needed if you build the frontend yourself)
Optional:
silverstripe/reports— enables the Grid Elements report in CMS Reportstractorcow/silverstripe-fluent— multi-locale support with isolated grid records per locale (see Fluent integration)
Conflict: this module conflicts with
dnadesign/silverstripe-elementaland replaces its functionality.
composer require wedevelopnl/silverstripe-gridThen run dev/build?flush=1 to pick up the new database schema and configuration.
Apply GridPageExtension to the page types that should have grid editing:
# app/_config/grid.yml
Page:
extensions:
Grid: WeDevelop\Grid\Extensions\GridPageExtensionRender the grid in the page template:
<% loop $Sections %>$Me<% end_loop %>
That's a working integration. See Template integration for the per-page editor toggle, default-behavior configuration, theme overrides, and the holder chain.
- Custom content elements — subclass
ContentElement, register CMS fields, add templates - Template integration —
GridPageExtensionconfiguration, holder chain, theme overrides, extension hooks - Internationalization — translating strings, adding a locale, PHP + JS collectors
- Migrating from Elemental / ElementalGrid —
BuildTask-based upgrade from SS5silverstripe-elemental/silverstripe-elemental-grid - Fluent (multi-locale) support — optional integration with
tractorcow/silverstripe-fluent
- Backend architecture — data model, API layer, service design, validation
- Drag and Drop — frontend dnd-kit integration and backend reorder pipeline
- Grid Adapter System — building a new CSS framework adapter
- Contributing guide — dev environment, test/coverage/QA commands, pull-request conventions
- E2E fixture protocol — YAML schema, post-actions, dev fixture endpoint
See CHANGELOG.md for release history.
See LICENSE.