class Lumberjack extends Extension (View source)

Class Lumberjack

Add this classes to SiteTree classes which children should be hidden.

Properties

protected T $owner

The object this extension is applied to.

from  Extension

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
T
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
mixed
invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

public
array
getExcludedSiteTreeClassNames()

Loops through subclasses of the owner (intended to be SiteTree) and checks if they've been hidden.

protected
updateCMSFields(FieldList $fields)

This is responsible for adding the child pages tab and gridfield.

public
SiteTree>
stageChildren(bool $showAll = false)

Return children in the stage site.

protected
SiteTree>
excludeSiteTreeClassNames(DataList $list)

Excludes any hidden owner subclasses. Note that the returned DataList will be a different instance from the original.

public
SiteTree>
liveChildren(bool $showAll = false, bool $onlyDeletedFromStage = false)

Return children in the live site, if it exists.

protected
string
getLumberjackTitle()

This returns the title for the tab and GridField. This can be overwritten in the owner class.

protected
getLumberjackGridFieldConfig()

This returns the gird field config for the lumberjack gridfield.

protected
bool
shouldFilter()

Checks if we're on a controller where we should filter. ie. Are we loading the SiteTree? NB: This only checks the current controller. See https://github.com/silverstripe/silverstripe-lumberjack/pull/60 for a discussion around this.

public
SiteTree>
getLumberjackPagesForGridfield($excluded = array())

Returns list of pages for the CMS gridfield

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

T getOwner()

Returns the owner of this extension.

Return Value

T

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

mixed invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

Parameters

object $owner
string $method
array ...$arguments

Return Value

mixed

array getExcludedSiteTreeClassNames()

Loops through subclasses of the owner (intended to be SiteTree) and checks if they've been hidden.

Return Value

array

protected updateCMSFields(FieldList $fields)

This is responsible for adding the child pages tab and gridfield.

Parameters

FieldList $fields

SiteTree> stageChildren(bool $showAll = false)

Return children in the stage site.

Parameters

bool $showAll

Include all of the elements, even those not shown in the menus. Only applicable when extension is applied to SiteTree.

Return Value

SiteTree>

protected SiteTree> excludeSiteTreeClassNames(DataList $list)

Excludes any hidden owner subclasses. Note that the returned DataList will be a different instance from the original.

Parameters

DataList $list

Return Value

SiteTree>

SiteTree> liveChildren(bool $showAll = false, bool $onlyDeletedFromStage = false)

Return children in the live site, if it exists.

Parameters

bool $showAll

Include all of the elements, even those not shown in the menus. Only applicable when extension is applied to SiteTree.

bool $onlyDeletedFromStage

Only return items that have been deleted from stage

Return Value

SiteTree>

Exceptions

Exception

protected string getLumberjackTitle()

This returns the title for the tab and GridField. This can be overwritten in the owner class.

Return Value

string

protected GridFieldConfig_Lumberjack getLumberjackGridFieldConfig()

This returns the gird field config for the lumberjack gridfield.

protected bool shouldFilter()

Checks if we're on a controller where we should filter. ie. Are we loading the SiteTree? NB: This only checks the current controller. See https://github.com/silverstripe/silverstripe-lumberjack/pull/60 for a discussion around this.

Return Value

bool

SiteTree> getLumberjackPagesForGridfield($excluded = array())

Returns list of pages for the CMS gridfield

This also allows the owner class to override this method, e.g. to provide custom ordering.

Parameters

$excluded

Return Value

SiteTree>