micschk / silverstripe-gridfieldpages
Base Page & Holder classes for managing SiteTree items in a Gridfield instead of via SiteTree
Installs: 2 359
Dependents: 2
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 2
Open Issues: 5
Type:silverstripe-vendormodule
Requires
Suggests
- symbiote/silverstripe-gridfieldextensions: Adds drag & drop sorting support to gridfields
This package is auto-updated.
Last update: 2024-12-10 04:12:49 UTC
README
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).
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).
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:
- SilverStripe CMS 4.0 or newer (3.x see 1.x tags)
- silverstripe-gridfieldsitetreebuttons to manage SiteTree items in a gridfield
Optional, for drag & drop sorting (suggested, not auto-installed by composer):
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:
GridFieldPageHolder: apply_sortable_gridfield: true
Screenshots
Easily manage and add new pages through a GridField.
Edit pages in the regular editform, including settings, history & versioning.
Recommended
Manage newsitems from a gridfield, with embargo & expire (auto-publishing) functionality