Split your page content into manageable blocks/sections of content, each with their own template
PHP CSS Scheme JavaScript
Latest commit 4ff3e1d Feb 27, 2017 Sander Hagenaars fixed bug caused by code ripped directly from Redirectorpage without …
…being checked properly
Permalink
Failed to load latest commit information.
_config updated our better buttons config. Do not show the create button on c… Jan 20, 2017
code fixed bug caused by code ripped directly from Redirectorpage without … Feb 27, 2017
css Simple support for foundation tpls in Simple theme Oct 8, 2014
docs/images Added screenshots Oct 13, 2014
js Fixing my own mess Oct 6, 2014
templates Merge branch 'master' of https://github.com/NobrainerWeb/Silverstripe… Oct 7, 2016
.editorconfig Added standard .editorconfig file Mar 24, 2016
.gitignore
README.md Added screenshots Oct 13, 2014
_config.php ANOTHER HOTFIX Sep 9, 2016
composer.json Changed version constraints Sep 13, 2016

README.md

Silverstripe-Content-Blocks (previous: Silverstripe-Section-Module)

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

Create compelling and unique pages

This module gives you the option to create your content, in little blocks, instead of just one big content area.

When the module is installed, a "Blocks" tab will be added to all pages. The blocks tab holds a GridField, that allows you to create as many blocks of content as you would like. Each block of content can have it's own template assigned. The module commes with a set of standard templates.

You can easily create your own block templates and even your own block DataObjects with unique fields. This makes it very easy for content editors to create pages with lots of variation, without having to know HTML, fiddle around with tables and so on. Create your own block templates and/or extend the Block DataObject to create:

  • Image lists (simple gallery)
  • Employee listings
  • Product listings
  • and much more

Version compatibility

Tested on Silverstripe 3.1.2

Installation instructions

  • Put this module under the root folder of site, named content-blocks.
  • Add the following code to your themes/your_design/templates/Layout/Page.ss where you want the content blocks to be rendered:
<div class="blocks"><% loop ActiveBlocks %>$Me<% end_loop %></div>

Or you can ask for a single Block to render via it's ID (replace 5 with your ID):

$OneBlock(5)

Or use Composer:

"nobrainerweb/silverstripe-content-blocks": "dev-master"
  • run sitename.com/dev/build?flush=all

  • The module will copy content-blocks/templates/BlockTemplates to themes/your_design/templates/BlockTemplates, should this fail, please copy the files manually.

  • The module will copy content-blocks/css/sections.css to themes/your_design/block.css, should this fail, please copy the file manually.

Usage and customization:

  • add your own templates to themes/your_design/templates/BLcokTemplates, they need to have the extension .ss and delete any unwanted templates (there is full example set of fixed width and fluid width templates included in the module)
  • allways run dev/build?flush=1 after adding templates
  • remember to ?flush=1 after modification of templates

Screenshots

Overview Overview in page editing

modeladmin View all blocks across pages in a ModelAdmin

Detail views

TODO:

  • Option to add more content placeholders without coding - site config?
  • Handle search
  • Versioning

IDEAS

  • Save available templates in database (enum field) - create on dev/build or use template manifest
  • Build in template generator
  • Form blocks
  • Better previews (C/P from design)
  • Perhaps add foundation templates as a suggested composer requirement (and other CSS frameworks)