webfox / silverstripe-global-content
Silverstripe SiteConfig like interface for global content that content-authors can access
Installs: 4 355
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 3
Open Issues: 0
Type:silverstripe-module
Requires
- php: >=5.4
- silverstripe/cms: ~3.2
README
Installation
This module only supports installation via composer.
Run the following to add this module as a requirement and install it via composer.
composer require "webfox/silverstripe-global-content"
then browse to /dev/build?flush=all
Requirements
- SilverStripe 3.2+
- PHP 5.4+
Module Overview
This module adds a convenient SiteConfig
like interface for managing global content.
Useful for when you want global content but don't want to give content-authors access to SiteConfig
Module Usage
Too add additional fields:
- Create a
DataExtension
that gets applied toGlobalContent
- The extension requires an
updateCMSFields(FieldList $fields)
method and any standardDataExtension
properties
class GlobalContentExtension extends DataExtension { protected static $db = [ 'MyFieldName' => 'Varchar' ]; public function updateCMSFields(FieldList $fields) { $fields->addFieldToTab( 'Root.Main', TextField::create('MyFieldName', 'My field name') ); } }
The use with permissions:
- Grant the user/role/group the
Access to 'Global Content' section
permission
To use in templates:
$GlobalContent.MyFieldName
<% with $GlobalContent %> {$MyFieldName} <% end_with %>
$GlobalContent('MyFieldName')
To use in PHP:
GlobalContent::inst()->MyFieldName
To alter the edit form directly:
- Create a new
LeftAndMainExtension
that gets applied toGlobalContentAdmin
- The extension can use the
updateEditForm($form)
method to update the form before data is loaded. - The extension can use the
updateEditFormData($form)
method to update the form after data is loaded.