Base Page & Holder classes for managing SiteTree items in a Gridfield instead of via SiteTree
Latest commit 69074ed Jun 25, 2015 micschk Adding back default child
Failed to load latest commit information.
_config Improving page ordering feedback Jan 27, 2015
code Adding back default child Jun 25, 2015
css Some cleaning up & optimisations Jan 7, 2015
images Some cleaning up & optimisations Jan 7, 2015 Improving page ordering feedback Jan 27, 2015
composer.json unfixing composer depencency version warning :) Jan 29, 2015

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).

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).


  • 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).


These will get auto-installed when using composer:

Optional, for drag & drop sorting (suggested, not auto-installed by composer):


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:

  apply_sortable_gridfield: true


Easily manage and add new pages through a GridField.

Edit pages in the regular editform, including settings, history & versioning.


Manage newsitems from a gridfield, with embargo & expire (auto-publishing) functionality