Skip to content

helpfulrobot/briceburg-silverstripe-pageholder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SilverStripe PageHolder Module

Hide children from the CMS sitetree and allow management through a Versioned GridField. Think BlogHolder but flexible and for any page type.

Features

  • Automatically appends GridField(s) for managing children to the extended object
  • Supports the CMS history view on manages pages.

Requirements

ExcludeChildren https://github.com/micschk/silverstripe-excludechildren

Tested in SilverStripe 3.0, 3.1

Screenshots

overview

editing

Usage

  • Add the PageHolderExtension to Pages you want to use as holder pages.
  • Specify the child classes to hide from SiteTree and manage with GridField with the $excluded_children static.
class AttorneysPage extends Page {

    private static $extensions = array(
       'PageHolderExtension'
    );
    
    private static $excluded_children = array('Attorney');
 
}    
  • Flush the cache and run /dev/build, you will now see Attorney management under AttorneysPage types.

Configuration

Placing the GridField

By default, PageHolderExtension will add GridField(s) to Root.Main, before the Metadata field. Override this behavior through the $pageholder_tab and $pageholder_insertBefore statics.

class AttorneysPage extends Page {
  private static $pageholder_tab = 'Root.Attorneys';
  private static $pageholder_insertBefore = 'settings';
  ...
}

Or, through YAML Configuration

---

AttorneysPage:
  pageholder_tab: Root.Attorneys
  pageholder_insertBefore: settings

Changing the GridField Title

PageHolderExtension infers the GridField title from the plural name of the child class. Set with the $plural_name static.

class Attorney extends ChildPage
{
    private static $plural_name = 'Attorneys';
    ...    
}

Or, through YAML Configuration

---

Attorney:
  plural_name: Attorneys

Credits

PageHolder provides an enhanced turn-key implementation of

About

Hide children from the CMS sitetree and allow management through a Versioned GridField. Think "BlogHolder" but flexible and for any page type.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.6%
  • Other 1.4%