PHPackages                             xddesigners/page-content-block - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. xddesigners/page-content-block

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

xddesigners/page-content-block
==============================

Adds a page content block to SilverStripe elemental editor

6.0.3(7mo ago)2585BSD-3-ClausePHP

Since Sep 19Pushed 7mo ago2 watchersCompare

[ Source](https://github.com/xddesigners/silverstripe-page-content-block)[ Packagist](https://packagist.org/packages/xddesigners/page-content-block)[ RSS](/packages/xddesigners-page-content-block/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (14)Used By (0)

Page Content Block
==================

[](#page-content-block)

Adds a page content block to the elemental editor.

### What it is

[](#what-it-is)

A Page content block is used to display the content from the Page model in the elemental area. This is useful for instance on pages like BlogPost's, UserForms or any page type that is added by a module.

### For who it exists

[](#for-who-it-exists)

For example, users editing blog posts want a lighter editing experience, but keep the flexibility of a block editor. This module sits in between by re-inserting the content field and moving the Elemental area to a Layout tab.

### What it does

[](#what-it-does)

It simply renders the current page controller in an Element. So you can access the page `$Content`, `$Title` or any other method on that element. The `PageContentBlock` is created on page creation so the element always exists. The user can simply start typing in the content field and keeps the flexibility of adding any blocks around the `PageContentBlock`.

### Templating

[](#templating)

The block searches for a block template closest matching the current page type. It looks fot it's own class ancestry and adds "ContentBlock" to the end of the class name. For example, for a `BlogPost` it will search for a `BlogPostContentBlock.ss`, if not found it will go down the ancestry until it will fallback to the `PageContentBlock.ss`. He will search in one folder namespaced to this module. The template folder path is `templates/XD/PageContentBlock/Models/YourClassContentBlock.ss`.

### Configuration

[](#configuration)

The creation of the `PageContentBlock` is configurable, this module looks on the current page type for a config setting `default_blocks`. You could also use that setting to create a default banner block on `BlogPosts`.

```
Page:
  default_blocks:
    - XD\PageContentBlock\Models\PageContentBlock

BlogPost:
  default_blocks:
    - MyFeaturedImageBlockClass
    - XD\PageContentBlock\Models\PageContentBlock
```

If you don't want the re-inserting of the content field you can set the `keep_content_field` setting to `false`.

```
XD\PageContentBlock\Extensions\ElementalPageExtension:
  keep_content_field: false
```

If you want to disable the re-inserting of the content field on a specific class, for example the home page.

```
HomePage:
  hide_content_field: true
```

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance66

Regular maintenance activity

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 63.6% 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 ~198 days

Recently: every ~0 days

Total

12

Last Release

239d ago

Major Versions

1.0.5 → 4.0.02025-09-12

4.x-dev → 5.0.02025-09-12

5.x-dev → 6.0.02025-09-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/6131c03b7f5ba6b10fef192c90d68d57508e84c007a13321df6960b8298e19d1?d=identicon)[TheBnl](/maintainers/TheBnl)

![](https://www.gravatar.com/avatar/011200839f5f7a480b6d262c45cbba2d02df1e2063c9dc9e05de540492476b60?d=identicon)[XD designers](/maintainers/XD%20designers)

---

Top Contributors

[![RVXD](https://avatars.githubusercontent.com/u/1586761?v=4)](https://github.com/RVXD "RVXD (7 commits)")[![TheBnl](https://avatars.githubusercontent.com/u/1334195?v=4)](https://github.com/TheBnl "TheBnl (4 commits)")

---

Tags

blockseditorelementalelementssilverstripesilverstripe-4silverstripeeditorblockselementselemental

### Embed Badge

![Health badge](/badges/xddesigners-page-content-block/health.svg)

```
[![Health](https://phpackages.com/badges/xddesigners-page-content-block/health.svg)](https://phpackages.com/packages/xddesigners-page-content-block)
```

###  Alternatives

[wedevelopnl/silverstripe-elemental-grid

Elemental grid module

1014.1k2](/packages/wedevelopnl-silverstripe-elemental-grid)

PHPackages © 2026

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