class CMSSiteTreeFilter_Search extends CMSSiteTreeFilter (View source)

Traits

A class that can be instantiated or replaced via DI

Properties

protected array $params

Search parameters, mostly properties on SiteTree.

from  CMSSiteTreeFilter
protected array $_cache_ids

List of filtered items and all their parents

from  CMSSiteTreeFilter
protected array $_cache_highlight_ids

Subset of $_cache_ids which include only items that appear directly in search results.

from  CMSSiteTreeFilter
protected array $_cache_expanded from  CMSSiteTreeFilter
protected string $childrenMethod from  CMSSiteTreeFilter
protected string $numChildrenMethod from  CMSSiteTreeFilter

Methods

public static 
create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

public static 
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

public static 
array
get_all_filters()

Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.

public
__construct($params = null)

No description

public
string
getChildrenMethod()

Method on Hierarchy objects which is used to traverse into children relationships.

public
string
getNumChildrenMethod()

Method on Hierarchy objects which is used find the number of children for a parent page

public
array|string
getPageClasses(DataObject $page)

Given a page, determine any additional CSS classes to apply to the tree node

public
getFilteredPages()

Retun an array of maps containing the keys, 'ID' and 'ParentID' for each page to be displayed in the search.

public
array
pagesIncluded()

No description

protected
populateIDs()

Populate the IDs of the pages returned by pagesIncluded(), also including the necessary parent helper pages.

public
bool
isPageIncluded(DataObject $page)

Returns TRUE if the given page should be included in the tree.

protected
applyDefaultFilters(DataList $query)

Applies the default filters to a specified DataList of pages

protected
array
mapIDs(SS_List $pages)

Maps a list of pages to an array of associative arrays with ID and ParentID keys

public static 
title()

No description

Details

static Injectable create(mixed ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

mixed ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

static array get_all_filters()

Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.

Return Value

array

__construct($params = null)

No description

Parameters

$params

string getChildrenMethod()

Method on Hierarchy objects which is used to traverse into children relationships.

Return Value

string

string getNumChildrenMethod()

Method on Hierarchy objects which is used find the number of children for a parent page

Return Value

string

array|string getPageClasses(DataObject $page)

Given a page, determine any additional CSS classes to apply to the tree node

Parameters

DataObject $page

Return Value

array|string

SS_List getFilteredPages()

Retun an array of maps containing the keys, 'ID' and 'ParentID' for each page to be displayed in the search.

Return Value

SS_List

array pagesIncluded()

No description

Return Value

array

Map of Page IDs to their respective ParentID values.

protected populateIDs()

Populate the IDs of the pages returned by pagesIncluded(), also including the necessary parent helper pages.

bool isPageIncluded(DataObject $page)

Returns TRUE if the given page should be included in the tree.

Caution: Does NOT check view permissions on the page.

Parameters

DataObject $page

Return Value

bool

protected DataList applyDefaultFilters(DataList $query)

Applies the default filters to a specified DataList of pages

Parameters

DataList $query

Unfiltered query

Return Value

DataList

Filtered query

protected array mapIDs(SS_List $pages)

Maps a list of pages to an array of associative arrays with ID and ParentID keys

Parameters

SS_List $pages

Return Value

array

static title()

No description