PHPackages                             thezenmonkey/dataobjectaspage - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. thezenmonkey/dataobjectaspage

Abandoned → NoneSilverstripe-module[Admin Panels](/categories/admin)

thezenmonkey/dataobjectaspage
=============================

Manage DataObjects through model admin but display them as pages on the site

088PHP

Since Nov 4Pushed 9y ago1 watchersCompare

[ Source](https://github.com/thezenmonkey/DataObjects-as-Pages)[ Packagist](https://packagist.org/packages/thezenmonkey/dataobjectaspage)[ RSS](/packages/thezenmonkey-dataobjectaspage/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

DataObjectAsPage Module
=======================

[](#dataobjectaspage-module)

Maintainers
-----------

[](#maintainers)

- Aram Balakjian

Branch Requirements
-------------------

[](#branch-requirements)

- 3.1 -&gt; SilverStripe 3.1.x
- 3.0 -&gt; SilverStripe 3.0.x
- 2.4 -&gt; SilverStripe 2.4.x

Overview
--------

[](#overview)

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:

\##Versioning

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

DataObjectAsPage::enable\_versioning();

Installation
------------

[](#installation)

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: ""

For full installation and extention options visit

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor3

3 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/edcb58d638f0b809f943935c9b9dc3dd7de6556d624a3e1e025cff8a03c1b6be?d=identicon)[thezenmonkey](/maintainers/thezenmonkey)

---

Top Contributors

[![arambalakjian](https://avatars.githubusercontent.com/u/330153?v=4)](https://github.com/arambalakjian "arambalakjian (14 commits)")[![dhensby](https://avatars.githubusercontent.com/u/563596?v=4)](https://github.com/dhensby "dhensby (10 commits)")[![jamesbolitho](https://avatars.githubusercontent.com/u/362607?v=4)](https://github.com/jamesbolitho "jamesbolitho (9 commits)")[![thezenmonkey](https://avatars.githubusercontent.com/u/1685217?v=4)](https://github.com/thezenmonkey "thezenmonkey (4 commits)")[![gsteel](https://avatars.githubusercontent.com/u/2803720?v=4)](https://github.com/gsteel "gsteel (2 commits)")[![codivist](https://avatars.githubusercontent.com/u/660284?v=4)](https://github.com/codivist "codivist (2 commits)")[![lingo](https://avatars.githubusercontent.com/u/219531?v=4)](https://github.com/lingo "lingo (2 commits)")[![petebacondarwin](https://avatars.githubusercontent.com/u/15655?v=4)](https://github.com/petebacondarwin "petebacondarwin (2 commits)")[![joernroeder](https://avatars.githubusercontent.com/u/270540?v=4)](https://github.com/joernroeder "joernroeder (1 commits)")[![anselmdk](https://avatars.githubusercontent.com/u/1316533?v=4)](https://github.com/anselmdk "anselmdk (1 commits)")[![3Dgoo](https://avatars.githubusercontent.com/u/2616373?v=4)](https://github.com/3Dgoo "3Dgoo (1 commits)")[![clyonsEIS](https://avatars.githubusercontent.com/u/4998937?v=4)](https://github.com/clyonsEIS "clyonsEIS (1 commits)")

### Embed Badge

![Health badge](/badges/thezenmonkey-dataobjectaspage/health.svg)

```
[![Health](https://phpackages.com/badges/thezenmonkey-dataobjectaspage/health.svg)](https://phpackages.com/packages/thezenmonkey-dataobjectaspage)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
