CMSSiteTreeFilter
class CMSSiteTreeFilter implements LeftAndMain_SearchFilter
Base class for filtering the subtree for certain node statuses.
The simplest way of building a CMSSiteTreeFilter is to create a pagesToBeShown() method that returns an Iterator of maps, each entry containing the 'ID' and 'ParentID' of the pages to be included in the tree. The result of a DB::query() can then be returned directly.
If you wish to make a more complex tree, you can overload includeInTree($page) to return true/ false depending on whether the given page should be included. Note that you will need to include parent helper pages yourself.
Traits
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.
No description
Method on {@link Hierarchy} objects which is used to traverse into children relationships.
Method on {@link 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
Gets the list of filtered pages
No description
Details
in Injectable at line 26
static Injectable
create(array $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'); $list = SiteTree::get();
in Injectable at line 43
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).
at line 74
static array
get_all_filters()
Returns a sorted array of all implementators of CMSSiteTreeFilter, suitable for use in a dropdown.
at line 98
__construct($params = null)
at line 105
string
getChildrenMethod()
Method on {@link Hierarchy} objects which is used to traverse into children relationships.
at line 110
string
getNumChildrenMethod()
Method on {@link Hierarchy} objects which is used find the number of children for a parent page
at line 115
array|string
getPageClasses(DataObject $page)
Given a page, determine any additional CSS classes to apply to the tree node
at line 135
abstract SS_List
getFilteredPages()
Gets the list of filtered pages
at line 140
array
pagesIncluded()
at line 180
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.