PHPackages                             nblum/silverstripe-flexible-content - 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. nblum/silverstripe-flexible-content

AbandonedArchivedSilverstripe-module[Utility &amp; Helpers](/categories/utility)

nblum/silverstripe-flexible-content
===================================

Pages based on data objects for better content structure

0.2.0(8y ago)34611MITPHP

Since Oct 20Pushed 8y ago1 watchersCompare

[ Source](https://github.com/nblum/silverstripe-flexible-content)[ Packagist](https://packagist.org/packages/nblum/silverstripe-flexible-content)[ RSS](/packages/nblum-silverstripe-flexible-content/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (3)Versions (5)Used By (1)

silverstripe-flexible-content
=============================

[](#silverstripe-flexible-content)

Content pages based on data objects for better content structure

[![screenshot](assets/screen1.jpg)](assets/screen1.jpg)

Features
--------

[](#features)

- Supports draft/publish state
- Drag n drop reordering
- Copy &amp; Paste
- Black/white listing of block types

### Disregards

[](#disregards)

- Same content element on different pages

### Difference to SilverStripe Blocks

[](#difference-to-silverstripe-blocks)

Silverstripe Blocks has more features like block sets, forms ,... But the ui of Flexible-Content is more simple and easier to understand and use for non technical users.

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

[](#installation)

```
composer require nblum/silverstripe-flexible-content
```

For a basic set of content element you may install the [elements-package](https://github.com/nblum/silverstripe-flexible-content-elements):

```
composer require nblum/silverstripe-flexible-content-elements
```

1. Create a page template `ContentPage` in your theme and add ```
        $FlexibleContent

    ```
2. Run `dev/build?flush=1`
3. Change the Page type to "Content Page" of every page you like

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

[](#configuration)

Edit your config.yml file and add the following lines. This is the default config and only necessary if changes are neede

```
FlexibleContent:
  availableContentElements:
    false
  forbiddenContentElements:
    - ContentElement
```

Custom Content Elements
-----------------------

[](#custom-content-elements)

Create a class which extends the ContentElement class or any other existing content element.

```
