PHPackages                             dynamic/silverstripe-elemental-baseobject - 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. [Database &amp; ORM](/categories/database)
4. /
5. dynamic/silverstripe-elemental-baseobject

ActiveSilverstripe-vendormodule[Database &amp; ORM](/categories/database)

dynamic/silverstripe-elemental-baseobject
=========================================

A simple base DataObject to use with Elemental Content Blocks

6.0.0(8mo ago)192.2k↑64.1%12[2 issues](https://github.com/dynamic/silverstripe-elemental-baseobject/issues)11BSD-3-ClausePHPCI passing

Since Jul 26Pushed 5d ago7 watchersCompare

[ Source](https://github.com/dynamic/silverstripe-elemental-baseobject)[ Packagist](https://packagist.org/packages/dynamic/silverstripe-elemental-baseobject)[ RSS](/packages/dynamic-silverstripe-elemental-baseobject/feed)WikiDiscussions 6 Synced 3d ago

READMEChangelog (10)Dependencies (8)Versions (25)Used By (11)

Silverstripe Elemental Baseobject
=================================

[](#silverstripe-elemental-baseobject)

a simple base dataobject to use with elements

[![CI](https://github.com/dynamic/silverstripe-elemental-baseobject/actions/workflows/ci.yml/badge.svg)](https://github.com/dynamic/silverstripe-elemental-baseobject/actions/workflows/ci.yml) [![Sponsors](https://camo.githubusercontent.com/475eb602a82fd79c0c52637caf359d39fd4a787ed0028b31af22a60fbe6dccb5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d53706f6e736f72732d6666363962343f6c6f676f3d676974687562)](https://github.com/sponsors/dynamic)

[![Latest Stable Version](https://camo.githubusercontent.com/cacdafa0073a80fda92e23f217fca9b877cbb04f3467d6757959fedf28f2c818/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d656c656d656e74616c2d626173656f626a6563742f762f737461626c65)](https://packagist.org/packages/dynamic/silverstripe-elemental-baseobject)[![Total Downloads](https://camo.githubusercontent.com/26079a0204b49683bd112ff6634225755c1ee29cd7718a6f5f1da24c912cc3b8/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d656c656d656e74616c2d626173656f626a6563742f646f776e6c6f616473)](https://packagist.org/packages/dynamic/silverstripe-elemental-baseobject)[![Latest Unstable Version](https://camo.githubusercontent.com/232035527b9663e6463bc64eefcaf7441fb5aed202dbd8a47a6ce2c24b3a2cde/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d656c656d656e74616c2d626173656f626a6563742f762f756e737461626c65)](https://packagist.org/packages/dynamic/silverstripe-elemental-baseobject)[![License](https://camo.githubusercontent.com/a656c3317360ea179dd2928ce1c072b777d9473513268fa942b7958f0c09ca0a/68747470733a2f2f706f7365722e707567782e6f72672f64796e616d69632f73696c7665727374726970652d656c656d656e74616c2d626173656f626a6563742f6c6963656e7365)](https://packagist.org/packages/dynamic/silverstripe-elemental-baseobject)

Requirements
------------

[](#requirements)

- dnadesign/silverstripe-elemental: ^6.0
- silvershop/silverstripe-hasonefield: ^5.0
- silverstripe/linkfield: ^5.0
- unclecheese/display-logic: ^4.0

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

[](#installation)

`composer require dynamic/silverstripe-elemental-baseobject`

Usage
-----

[](#usage)

`BaseElementObject` is a versioned DataObject that provides a reusable foundation for managing collections of related content within Elemental blocks. It's designed to be extended or used as a `has_many` relationship in custom Element classes.

### Features

[](#features)

The base object includes:

- **Title** - Text field with optional display toggle (using `TextCheckboxGroupField`)
- **Content** - HTML text area for rich content
- **Image** - Image upload with automatic organization into `Uploads/Elements/Objects`
- **Link** - Configurable call-to-action using SilverStripe LinkField
- **Versioning** - Full draft/publish workflow with GridField extensions
- **Permissions** - Inherits permissions from the current page context

### Common Usage Pattern

[](#common-usage-pattern)

Typically used as a `has_many` relationship in Elemental blocks:

```
use Dynamic\BaseObject\Model\BaseElementObject;
use DNADesign\Elemental\Models\BaseElement;

class ElementAccordion extends BaseElement
{
    private static $has_many = [
        'Items' => BaseElementObject::class,
    ];
}
```

### Extending BaseElementObject

[](#extending-baseelementobject)

For custom functionality, extend the class:

```
use Dynamic\BaseObject\Model\BaseElementObject;

class PromoObject extends BaseElementObject
{
    private static $db = [
        'Subtitle' => 'Varchar(255)',
    ];

    private static $table_name = 'PromoObject';
}
```

### Used By

[](#used-by)

This module serves as a dependency for several Dynamic Elemental modules:

- [Accordion](https://github.com/dynamic/silverstripe-elemental-accordion) - Collapsible content panels
- [Features](https://github.com/dynamic/silverstripe-elemental-features) - Icon-based feature highlights
- [Gallery](https://github.com/dynamic/silverstripe-elemental-gallery) - Image galleries with captions
- [Promos](https://github.com/dynamic/silverstripe-elemental-promos) - Promotional content blocks
- [Sponsors](https://github.com/dynamic/silverstripe-elemental-sponsors) - Sponsor/partner logos
- [Timeline](https://github.com/dynamic/silverstripe-elemental-timeline) - Event timelines

Getting more elements
---------------------

[](#getting-more-elements)

See [Elemental modules by Dynamic](https://github.com/orgs/dynamic/repositories?q=elemental&type=all&language=&sort=)

Configuration
-------------

[](#configuration)

See [SilverStripe Elemental Configuration](https://github.com/silverstripe/silverstripe-elemental#configuration)

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

[](#maintainers)

- [Dynamic](https://www.dynamicagency.com) ()

Bugtracker
----------

[](#bugtracker)

Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique.

If the issue does look like a new bug:

- Create a new issue
- Describe the steps required to reproduce your issue, and the expected outcome. Unit tests, screenshots and screencasts can help here.
- Describe your environment as detailed as possible: SilverStripe version, Browser, PHP version, Operating System, any installed SilverStripe modules.

Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker.

Development and contribution
----------------------------

[](#development-and-contribution)

If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.

License
-------

[](#license)

See [License](LICENSE.md)

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance62

Regular maintenance activity

Popularity36

Limited adoption so far

Community29

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 74% of commits — single point of failure

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.

###  Release Activity

Cadence

Every ~131 days

Total

23

Last Release

5d ago

Major Versions

2.1.x-dev → 3.0.0-alpha12022-11-22

1.0.x-dev → 3.0.02022-12-14

3.0.x-dev → 4.0.0-alpha12023-06-13

4.x-dev → 5.0.02025-01-24

5.x-dev → 6.0.02025-10-17

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/867942?v=4)[Dynamic](/maintainers/dynamic)[@dynamic](https://github.com/dynamic)

---

Top Contributors

[![jsirish](https://avatars.githubusercontent.com/u/1163643?v=4)](https://github.com/jsirish "jsirish (37 commits)")[![muskie9](https://avatars.githubusercontent.com/u/870751?v=4)](https://github.com/muskie9 "muskie9 (7 commits)")[![mak001](https://avatars.githubusercontent.com/u/1750550?v=4)](https://github.com/mak001 "mak001 (3 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (1 commits)")[![prij](https://avatars.githubusercontent.com/u/1773755?v=4)](https://github.com/prij "prij (1 commits)")[![wernerkrauss](https://avatars.githubusercontent.com/u/1043925?v=4)](https://github.com/wernerkrauss "wernerkrauss (1 commits)")

---

Tags

hacktoberfestsilverstripesilverstripe-elementalsilverstripecontentblockselemental

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/dynamic-silverstripe-elemental-baseobject/health.svg)

```
[![Health](https://phpackages.com/badges/dynamic-silverstripe-elemental-baseobject/health.svg)](https://phpackages.com/packages/dynamic-silverstripe-elemental-baseobject)
```

###  Alternatives

[dnadesign/silverstripe-elemental-decisiontree

Element displaying information in regards to answers given to questions

1117.7k1](/packages/dnadesign-silverstripe-elemental-decisiontree)

PHPackages © 2026

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