Download the PHP package heyday/silverstripe-slices without Composer
On this page you can find all versions of the php package heyday/silverstripe-slices. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download heyday/silverstripe-slices
More information about heyday/silverstripe-slices
Files in heyday/silverstripe-slices
Package silverstripe-slices
Short Description Provides a Slice extension to DataObject subclasses with custom templates
License MIT
Informations about the package silverstripe-slices
Content Slices for SilverStripe
Content management in "slices"; separate content components, each with their own template, fields and visual settings that can be created and arranged by a user in the CMS.
- Slice previews in the CMS
- Slice CMS configured via YAML
Usage
It's best to use silverstripe-slices with lots of generic fields on the base slice class, since this allows templates to share fields and be configured in YAML without creating a class for each slice. silverstripe-adaptivecontent works well for this (and used to be integrated with this module).
Templates
Each slice type/template has it's own template file with the name [BaseSliceClass]_[TemplateName]
. These can go in themes/[theme]/templates/Slices
to separate them from the other templates in your site.
Adding Slices to Page
This module comes with an extension for easily setting up Slices on Page:
In templates, all slices can be rendered using this:
Subclassing Slice
Subclassing Slice
is a normal use case, however note that when subclassing it, you'll need to override the method getBaseSliceClass
method in your "base" slice subclass (the one you point to in a has_many from Page) for the slice to save correctly:
This is due to the the module needing a "default" class to fall back to when the className
key has not been set in a template config.
Customising CMS fields
Adding and modifying fields in YourBaseSlice::getCMSFields
is an expected use case. Note that things configured in the slices YAML configuration will be overriden if, for example, you replace a field with something custom. In this case, you can re-apply the slices config with the following at the end of your getCMSFields
function:
Customising slice previews in the CMS
A preview of a slice renders the CMS in an iframe when editing and browsing. Out of the box, previews are rendered inside a basic HTML page wrapper: silverstripe-slices/templates/SliceWrapper.ss
. You can override this wrapper in your own theme to customise how slice previews are delivered.
Example config
Compatibility
This module requires at least SilverStripe 3.1 and PHP 5.3.
All versions of silverstripe-slices with dependencies
symbiote/silverstripe-gridfieldextensions Version ~2.0
heyday/silverstripe-dataobjectpreview Version ~1.0
heyday/silverstripe-versioneddataobjects Version ^2.0