class ElementSiteTreeFilterSearch extends CMSSiteTreeFilter_Search (View source)

Traits

Provides extensions to this object to integrate it with standard config API methods.

A class that can be instantiated or replaced via DI

Config options

search_for_term_in_content bool
render_elements bool

Whether to render elements with templates when doing a CMS SiteTree search

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)

We can't use ORM filtering for PHP methods, so we'll perform our own PHP "search" and get a list of matching SiteTree record IDs, then add that to the original ORM query.

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

public static 
config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

public
mixed
uninherited(string $name)

Gets the uninherited value for the given config option

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)

We can't use ORM filtering for PHP methods, so we'll perform our own PHP "search" and get a list of matching SiteTree record IDs, then add that to the original ORM query.

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

static Config_ForClass config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

Return Value

Config_ForClass

mixed uninherited(string $name)

Gets the uninherited value for the given config option

Parameters

string $name

Return Value

mixed