Download the PHP package sunnysideup/slices without Composer
On this page you can find all versions of the php package sunnysideup/slices. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sunnysideup/slices
More information about sunnysideup/slices
Files in sunnysideup/slices
Package slices
Short Description Provides a Slice extension to DataObject subclasses with custom templates
License MIT
Informations about the package 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 slices with dependencies
sunnysideup/dataobjectpreview Version dev-master
silverstripe/framework Version ^4.0 || ^5.0
silverstripe/assets Version *
silverstripe/config Version *
silverstripe/admin Version *
silverstripe/cms Version *
silverstripe/asset-admin Version *
silverstripe/campaign-admin Version *
silverstripe/versioned-admin Version *
silverstripe/errorpage Version *
silverstripe/graphql Version ^5.0
silverstripe/reports Version *
silverstripe/siteconfig Version *
silverstripe/versioned Version *