A SilverStripe module for displaying DataObjects as Pages
PHP Scheme CSS
Latest commit 7c13272 Apr 27, 2017 @dhensby dhensby committed on GitHub Merge pull request #68 from bryant1410/master
Fix broken headings in Markdown files


DataObjectAsPage Module


  • Aram Balakjian

Branch Requirements

  • 3.1 -> SilverStripe 3.1.x
  • 3.0 -> SilverStripe 3.0.x
  • 2.4 -> SilverStripe 2.4.x


The module provides functionality for displaying DataObjects managed via ModelAdmin to appear as though they were full Pages on the front end of the site. It includes the option to enable versioning, allowing Draft and Published versions of the DataObject.

Searching has been removed for now but will hopefully be added back in future as a standalone module. We would recommend either Lucene or Solr modules for DataObject searchability.

For full instructions on use see: http://www.ssbits.com/tutorials/2012/dataobject-as-pages-the-module/


Versioning is now optional, you can enable it by adding the following line to you _config.php



Unpack and copy the module folder into your SilverStripe project.

Create 3 new Classes; The Item class, the Admin Class and the Listing Page class.

  • The Item class must extend DataObjectAsPage
  • Inside the Item Class you must define: static $listing_page_class = '[YourListingPageClass]';
  • The Admin class must extend DataObjectAsPageAdmin
  • Inside the Admin Class, you need to define the standard ModelAdmin attributes
  • The Listing Page class must extend DataObjectAsPageHolder and DataObjectAsPageHolder_Controller
  • Inside the ListingPage Controller Class you must define: static $item_class = '[YourItemClass]';

Run "dev/build" in your browser, for example: "http://localhost/silverstripe/dev/build?flush=all"

For full installation and extention options visit http://www.ssbits.com/tutorials/2012/dataobject-as-pages-the-module/