Manage pages from a gridfield instead of the sitetree
This module tackles the issue of a cluttered SiteTree by managing pages from a gridfield. It can easily handle thousands of subpages (production-tested with 65.000 pages under one parent)., (*1)
This module is meant as base classes, it can be used on its own but usually you will want to subclass in order to add filtering/sorting, etc. An example module subclassing this module is Newsgrid (filterable newsitems managed from a gridfield)., (*2)
Features
- GridFieldPages extend SiteTree so no Page functionality is lost by using DataObjects.
- Custom GridField components for quickly adding new pages.
- Hides sub pages from the sitetree (via excludechildren).
- Drag 'n drop sorting of pages (optional) (loop over $SortedChildren in templates).
Requirements
These will get auto-installed when using composer:, (*3)
Optional, for drag & drop sorting (suggested, not auto-installed by composer):, (*4)
Installation
composer require micschk/silverstripe-gridfieldpages dev-master
Optional: Drag & Drop Sorting
Drag and drop sorting is supported but not active by default, as often you will want to sort by other criteria, eg. Date or some other field. To activate drag & drop sorting, add to config.yml:, (*5)
GridFieldPageHolder:
apply_sortable_gridfield: true
Screenshots
Easily manage and add new pages through a GridField.
, (*6)
Edit pages in the regular editform, including settings, history & versioning.
, (*7)
Recommended
Manage newsitems from a gridfield, with embargo & expire (auto-publishing) functionality
* silverstripe-newsgrid, (*8)