PHPackages                             somardesignstudios/silverstripe-contentblocks - 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. somardesignstudios/silverstripe-contentblocks

AbandonedArchivedSilverstripe-module

somardesignstudios/silverstripe-contentblocks
=============================================

Add Content Block functionality

1.3.0(7y ago)26023BSD-2-ClausePHPPHP &gt;=5.4.0

Since Oct 14Pushed 7y ago1 watchersCompare

[ Source](https://github.com/SomarDesignStudios/silverstripe-contentblocks)[ Packagist](https://packagist.org/packages/somardesignstudios/silverstripe-contentblocks)[ RSS](/packages/somardesignstudios-silverstripe-contentblocks/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (7)Versions (5)Used By (0)

Content Blocks
==============

[](#content-blocks)

[![Build Status](https://camo.githubusercontent.com/5a82f0d41ea564ed24d222c6f375ecebc93212322a689a2c529cd61f7908e0f5/68747470733a2f2f7472617669732d63692e6f72672f536f6d617244657369676e53747564696f732f73696c7665727374726970652d636f6e74656e74626c6f636b732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/SomarDesignStudios/silverstripe-contentblocks)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/f5b02a723b64e2813ef3ed63f231947ab6c024784562c3b406acda6fa13d891e/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f536f6d617244657369676e53747564696f732f73696c7665727374726970652d636f6e74656e74626c6f636b732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/SomarDesignStudios/silverstripe-contentblocks/?branch=master)

Add Content Blocks with different Layouts to pages.

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

[](#installation)

### Composer

[](#composer)

`composer require somardesignstudios/silverstripe-contentblocks`

### Manually

[](#manually)

Download the archive and extract it into your web root.

Features
--------

[](#features)

This module provides four different Content Block layouts out of the Box.

### Column Layout

[](#column-layout)

This Content Block enables a up to 3 columns of content with background colour options. The columns heights are matched with the the jQuery match heights plugin.

### Accordion

[](#accordion)

This Content Block provides basic Bootstrap `panel-collapse` functionality.

### Tile Section

[](#tile-section)

This Content Block provides a landing-page type tile layout. Each Tile can have an image, title, caption and link. Tiles can be displayed in rows of two or three. There is also support for user selected templates.

### GridFieldDropdownAddNewButton

[](#gridfielddropdownaddnewbutton)

TO DO

### Case Study

[](#case-study)

TO DO

Usage
-----

[](#usage)

`ContentBlockExtension` will add a ContentBlocks tab and GridField to all Pages. Each class of Content Block has it's own button to add to the page.

Currently, you can add these to any template by looping over the `ContentBlocks` and using `$RenderBlock`

**Layout/Page.ss**

```

        $RenderBlock

```

Future improvements include allowing content blocks to be inserted individually via Shortcodes as well as allowing the creation of a ContentBlock via a Dropdown Field as opposed to individual buttons.

The styling will be basic if not non-existent, this is to allow you full control of the look and feel of the content blocks apart from the Bootstrap bits ofcourse.

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

[](#configuration)

### Base Configuration

[](#base-configuration)

#### include\_bootstrap

[](#include_bootstrap)

This module requires Twitter Bootstrap 3 for a number of layouts and components. It is recommended to include Bootstrap in your theme as you will better be able to manage cascading styles however, to get going quickly you can set a configuration flag to include the module's bootstrap library which includes just the CSS needed for the components:

**config.yml**

```
ContentBlock:
  include_bootstrap: true

```

#### types

[](#types)

Specify what types should be able to be created in the GridFieldDropdownAddNewButton. **config.yml**

```
ContentBlock:
  types:
    ClassName: 'Dropdown Label'

```

#### Extending

[](#extending)

Extension hooks are provided in most appropriate places so you can easily customise the behaviour. If you believe there is one missing, feel free to raise an issue or create a pull request.

#### Templates

[](#templates)

You can override any of the default templates in this module by creating Templates of the same name in your themes folder.

### Column Layout

[](#column-layout-1)

#### column\_classes

[](#column_classes)

You can configure the classes that will be applied to every column with `column_classes` option.

**config.yml**

```
ContentBlock_ColumnLayout:
  column_classes:
    - 'my-custom-css-class'
    - 'another-class'

```

#### colour\_options

[](#colour_options)

You can configure the background colour options using the `colour_options` option.

**config.yml**

```
ContentBlock_ColumnLayout:
  colour_options:
    ffffff: 'White'
    hexcode: 'Dropdown Label'

```

### Accordion

[](#accordion-1)

#### accordion\_classes

[](#accordion_classes)

You can configure the classes that will be applied to all panels with `accordion_classes` option.

**config.yml**

```
ContentBlock_Accordion:
  accordion_classes:
    - 'my-custom-css-class'
    - 'another-class'

```

### Tiles Section

[](#tiles-section)

TO DO

- tile\_classes
- tile\_templates

### Case Study

[](#case-study-1)

TO DO

Development
-----------

[](#development)

TO DO

TO DO
-----

[](#to-do)

- Tests
- Internationalization
- Shortcodes

###  Health Score

30

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 66.7% 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 ~225 days

Total

4

Last Release

2819d ago

### Community

Maintainers

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

---

Top Contributors

[![nzphoenix](https://avatars.githubusercontent.com/u/12363234?v=4)](https://github.com/nzphoenix "nzphoenix (2 commits)")[![tcaiger](https://avatars.githubusercontent.com/u/12807916?v=4)](https://github.com/tcaiger "tcaiger (1 commits)")

---

Tags

silverstripecontentblockstilescolumnsaccordion

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/somardesignstudios-silverstripe-contentblocks/health.svg)

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

###  Alternatives

[nobrainerweb/silverstripe-content-blocks

Split your page content into manageable blocks/sections of content, each with their own template

301.5k](/packages/nobrainerweb-silverstripe-content-blocks)[bummzack/page-blocks

Modular content-blocks for SilverStripe pages

135.3k](/packages/bummzack-page-blocks)

PHPackages © 2026

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