atwx / silverstripe-element-overview
Adds an Element Overview ModelAdmin to SilverStripe CMS, listing all elements with links to their pages.
Package info
github.com/atwx/silverstripe-element-overview
Type:silverstripe-vendormodule
pkg:composer/atwx/silverstripe-element-overview
Requires
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Adds an Element Overview ModelAdmin to the SilverStripe CMS, listing all Elemental content blocks across all pages in a searchable, filterable table.
Features
- Lists all elements site-wide, sorted by type and title
- Filter by element title (partial match) and element type (dropdown)
- Filter state is persisted in the browser URL
- Links to the frontend page and the CMS backend page for each element
- CSV export with type, title, page name, frontend URL and backend URL
- Compatible with Fluent: only shows elements for the currently active locale
- Works without Fluent — all elements are shown when Fluent is not installed
- Compatible with Subsites: each subsite shows its own Element Overview admin, listing only elements that belong to pages on that subsite
- Works without Subsites — all elements site-wide are shown when Subsites is not installed
Requirements
- SilverStripe Framework
^6 - SilverStripe Admin
^3 - DNADesign Silverstripe Elemental
^6
Installation
composer require atwx/silverstripe-element-overview
After installation, run a database build:
vendor/bin/sake db:build --flush
Usage
The module registers itself automatically. After installation, a new Element Overview entry appears in the CMS navigation (icon: layout blocks).
Columns
| Column | Description |
|---|---|
| Type | Element type (e.g. "Accordion", "Text & Image") |
| Element title | The element's title field |
| Page | Link to the frontend page (opens in new tab) |
| Page (Backend) | Link to the page in the CMS editor (opens in new tab) |
Search & Filter
- Element title — partial text search
- Type — dropdown to filter by element class
CSV Export
Click Export to CSV (top left) to download all currently filtered elements as a CSV file. The export includes:
- Type
- Element title
- Page (name)
- Page URL (frontend)
- Page Backend URL (CMS)
Subsites
When silverstripe/subsites is installed, the Element Overview automatically becomes subsite-aware — no additional configuration required:
- The Element Overview entry appears in the CMS navigation of every subsite
- Each subsite only lists elements belonging to pages on that subsite (filtered via
Element.TopPageID → SiteTree.SubsiteID) - The main site shows only its own elements
Compatibility Note
This module requires league/csv <9.27 due to a deprecation in GridFieldExportButton in SilverStripe Framework. Add the following to your project's composer.json if the export produces errors:
"conflict": { "league/csv": ">=9.27" }