wedevelopnl / silverstripe-grid
Grid-based content block system for SilverStripe
Package info
github.com/wedevelopnl/silverstripe-grid
Type:silverstripe-vendormodule
pkg:composer/wedevelopnl/silverstripe-grid
Requires
- php: ^8.3
- silverstripe/admin: ^3.0
- silverstripe/cms: ^6.0
- silverstripe/framework: ^6.0
- silverstripe/vendor-plugin: ^3.0
- silverstripe/versioned: ^3.0
- unclecheese/display-logic: ^4.0
- wedevelopnl/silverstripe-media-field: ^6.0
Requires (Dev)
- cambis/silverstan: ^2.1
- infection/infection: ^0.32
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-deprecation-rules: ^2.0
- phpunit/phpunit: ^11.3
- tomasvotruba/type-coverage: ^2.0
- wernerkrauss/silverstripe-rector: ^1.0
Suggests
- silverstripe/reports: Enables the Grid Elements report in CMS → Reports
Conflicts
This package is auto-updated.
Last update: 2026-03-26 08:54:28 UTC
README
Introduction
A grid-based content block system for SilverStripe CMS, enabling structured Section → Row → Column layouts with configurable CSS framework adapters (Bootstrap, Tailwind, Bulma).
Requirements
- PHP ^8.3
- silverstripe/framework ^6.0
- silverstripe/cms ^6.0
- silverstripe/admin ^3.0
- silverstripe/versioned ^3.0
- silverstripe/vendor-plugin ^3.0
- Node >=24 (for frontend build)
Optional:
silverstripe/reportsenables the Grid Elements report in CMS Reports.
Conflict: This module conflicts with
dnadesign/silverstripe-elementaland replaces its functionality.
Installation
composer require wedevelopnl/silverstripe-grid
Development
Prerequisites
- Docker (for PHP tests and dev environment)
- Node >=24 (see
.nvmrc) - Composer
Setup
composer install make up # Start Docker services (auto-generates .docker/.env) npm install npm run build # Vite production build
Testing
| Command | Description |
|---|---|
make test |
Run all tests (PHP unit + integration + JS) |
make test-unit |
PHP unit tests only (no database/framework) |
make test-integration |
PHP integration tests (full SilverStripe env) |
npm run test |
Run JavaScript tests (Vitest) |
make test-e2e |
Run Playwright E2E tests (requires running Docker services) |
Quality
| Command | Description |
|---|---|
make analyse |
PHPStan static analysis (level max) |
npm run lint |
oxlint + Stylelint |
npm run typecheck |
TypeScript type checking |
make qa |
Full QA suite (PHPStan + PHP tests + JS QA) |
Architecture
See the architecture documentation for detailed design documents:
- Backend Architecture — data model, API layer, service design, validation, grid adapters
- Drag and Drop — frontend dnd-kit integration and backend reorder pipeline
Changelog
See CHANGELOG.md for release history.
License
See License
Maintainers
Development and contribution
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.