ElementSiteTreeFilterSearch
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
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.
Method on Hierarchy objects which is used to traverse into children relationships.
Method on Hierarchy objects which is used find the number of children for a parent page
Given a page, determine any additional CSS classes to apply to the tree node
Retun an array of maps containing the keys, 'ID' and 'ParentID' for each page to be displayed in the search.
Populate the IDs of the pages returned by pagesIncluded(), also including the necessary parent helper pages.
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.
Maps a list of pages to an array of associative arrays with ID and ParentID keys
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
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();
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).
static array
get_all_filters()
Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.
__construct($params = null)
No description
string
getChildrenMethod()
Method on Hierarchy objects which is used to traverse into children relationships.
string
getNumChildrenMethod()
Method on Hierarchy objects which is used find the number of children for a parent page
array|string
getPageClasses(DataObject $page)
Given a page, determine any additional CSS classes to apply to the tree node
SS_List
getFilteredPages()
Retun an array of maps containing the keys, 'ID' and 'ParentID' for each page to be displayed in the search.
array
pagesIncluded()
No description
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.
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.
protected array
mapIDs(SS_List $pages)
Maps a list of pages to an array of associative arrays with ID and ParentID keys
static
title()
No description
static Config_ForClass
config()
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
mixed
uninherited(string $name)
Gets the uninherited value for the given config option