PHPackages                             bramdeleeuw/silverstripe-pageslices - 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. bramdeleeuw/silverstripe-pageslices

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

bramdeleeuw/silverstripe-pageslices
===================================

Page slice implementation for Silverstripe

2.0.19(6y ago)481023BSD-3-ClausePHP

Since Jan 10Pushed 6y ago1 watchersCompare

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

READMEChangelogDependencies (4)Versions (40)Used By (3)

Page slice module for Silverstripe
==================================

[](#page-slice-module-for-silverstripe)

This module provides a base `PageSlice` class on which new slices can be extended. A `PageContentSlice` is included by default, this slice holds the parent's content.

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

[](#installation)

To add page slices to your page simply include the `PageSlicesExtension` to your page.

### Setting up default slices

[](#setting-up-default-slices)

Default slices are slices set up by the developer in the config that are installed on createion of a page or object after write. This module comes with some config setting by which default slices can be set up. For example:

```
Page:
  extensions:
    - Broarm\Silverstripe\PageSlices\PageSlicesExtension
  default_slices:
    - PageContentSlice
Broarm\Silverstripe\PageSlices\PageSlice:
  default_slices_exceptions:
    - Blog
```

With the above config all pages would get the `PageContentSlice` by default except for `Blog` pages.

The config stacks, so if you would like to add a banner slice to blog posts by default you could add the following to the config:

```
BlogPost:
  default_slices:
    - BannerSlice
    # By adding the content slice you can control the sort order
    # Otherwise stacked slices will be appended to the list
    - PageContentSlice
```

### PageContentSlice template hierarchy

[](#pagecontentslice-template-hierarchy)

The Page content slices looks for it's template in a similar manner as the Page class. For example, a `PageContentSlice` added to a `BlogPost` would prefer the `BlogPostContentSlice.ss` template above the `PageContentSlice.ss`. It iterates trough the class hierarchy until it stumbles upon a usable template.

#### Note

[](#note)

The module is namespaced except for the `PageContentSlice`, this is because the `GridFieldAddNewMultiClass` does not support namespaced classes yet. For your own PageSlices take care to not namespace them (yet!).

\###Maintainers

[Bram de Leeuw](http://www.twitter.com/bramdeleeuw)

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 96.9% 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 ~24 days

Recently: every ~37 days

Total

38

Last Release

2554d ago

Major Versions

0.2.0 → 1.0.02017-02-01

0.2.2 → 1.0.12017-02-28

1.1.5 → 2.0.02017-11-22

1.1.9 → 2.0.112018-09-19

### Community

Maintainers

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

---

Top Contributors

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

---

Tags

gridfieldpage-slicessilverstripeslicepagesilverstripelayoutslice

### Embed Badge

![Health badge](/badges/bramdeleeuw-silverstripe-pageslices/health.svg)

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

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1321.1M84](/packages/silverstripe-userforms)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46299.9k9](/packages/symbiote-silverstripe-advancedworkflow)[silverstripe/sharedraftcontent

Share draft page content with non-CMS users

21419.6k11](/packages/silverstripe-sharedraftcontent)

PHPackages © 2026

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