PHPackages                             navidonskis/silverstripe-datapages - 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. navidonskis/silverstripe-datapages

AbandonedArchivedSilverstripe-module

navidonskis/silverstripe-datapages
==================================

Data Pages is a SilverStripe CMS module to create object oriented pages

1231PHP

Since Aug 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/navidonskis/silverstripe-datapages)[ Packagist](https://packagist.org/packages/navidonskis/silverstripe-datapages)[ RSS](/packages/navidonskis-silverstripe-datapages/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

SilverStripe Data Pages
=======================

[](#silverstripe-data-pages)

This is a module (package) as a helper to create linkable data objects with meta tags, url segments, links and more.

Usage
-----

[](#usage)

To create your own linkable object here is an example of simple product object

```
// Product.php
class Product extends DataPage {
    private static $db = []; // your own options
}

// ProductListingPage.php
class ProductListingPage extends Page {

    // list of the products
    public function getProducts() {
        return Product::get();
    }

    // override MetaTags to get from Product
    public function MetaTags($includeTitle = true) {
        $segment = Controller::curr()->getRequest()->param('URLSegment');

        if ($product = Product::getByUrlSegment($segment)) {
            return $product->MetaTags($includeTitle);
        }

        return parent::MetaTags($includeTitle);
    }

}

// ProductListingPage.php
class ProductListingPage_Controller extends Page_Controller {
    private static $allowed_actions = ['product'];
    private static $url_handlers = [
        ''             => 'index',
        '$URLSegment!' => 'product'
    ];

    public function product(SS_HTTPRequest $request) {
        $segment = $request->param('URLSegment');

        if (($product = Product::getByUrlSegment($segment)) && $product instanceof Product && $product->canView()) {
            $this->Title = $product->Title;

            return $this->renderWith(['ProductListingPage_product', 'Page'], [
                'Title'    => $product->Title,
                'Content'  => DBField::create_field('HTMLText', $product->Content),
                'Pictures' => $product->Pictures(),
            ]);
        }

        $this->httpError(404);
    }
}
```

```

        $Title

            $Content

                        $Title

                        $Summary

    $Form

        $Title

            $Content

```

Make object searchable
----------------------

[](#make-object-searchable)

add this configuration to your `config.yml` to make `DataPage` fulltext searchable.

```
DataPage:
  indexes:
    SearchFields:
      type: fulltext
      name: SearchFields
      value: '"Title", "Content", "MenuTitle", "MetaDescription", "MetaKeywords"'
  create_table_options:
    MySQLDatabase: 'ENGINE=MyISAM'
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

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/c41a96825f00a50190ddec77d3adccf271b6dcb7c9aeaf62d89696b92406e91b?d=identicon)[Doniz](/maintainers/Doniz)

---

Tags

cmsdatadataobjectaspagemodulepagesilverstripe

### Embed Badge

![Health badge](/badges/navidonskis-silverstripe-datapages/health.svg)

```
[![Health](https://phpackages.com/badges/navidonskis-silverstripe-datapages/health.svg)](https://phpackages.com/packages/navidonskis-silverstripe-datapages)
```

PHPackages © 2026

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