CMSSiteTreeFilter
abstract class CMSSiteTreeFilter implements LeftAndMain_SearchFilter (View source)
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
A class that can be instantiated or replaced via DI
Properties
| protected deprecated | array | $params | Search parameters, mostly properties on SiteTree.  | 
                |
| protected deprecated | array | $_cache_ids | List of filtered items and all their parents  | 
                |
| protected deprecated | array | $_cache_highlight_ids | Subset of $_cache_ids which include only items that appear directly in search results.  | 
                |
| protected deprecated | array | $_cache_expanded | ||
| protected deprecated | string | $childrenMethod | ||
| protected deprecated | string | $numChildrenMethod | 
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.
Populate the IDs of the pages returned by pagesIncluded(), also including the necessary parent helper pages.
Applies the default filters to a specified DataList of pages
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)
        deprecated
    
    deprecated
No description
        
                            string
    getChildrenMethod()
        deprecated
    
    deprecated
No description
        
                            string
    getNumChildrenMethod()
        deprecated
    
    deprecated
No description
        
                            array|string
    getPageClasses(DataObject $page)
        deprecated
    
    deprecated
No description
        
            abstract                SS_List
    getFilteredPages()
        
    
    Gets the list of filtered pages
        
                            array
    pagesIncluded()
        deprecated
    
    deprecated
No description
        
                    protected        
    populateIDs()
        deprecated
    
    deprecated
Populate the IDs of the pages returned by pagesIncluded(), also including the necessary parent helper pages.
        
                            bool
    isPageIncluded(DataObject $page)
        deprecated
    
    deprecated
No description
        
                    protected        DataList
    applyDefaultFilters(DataList $query)
        deprecated
    
    deprecated
Applies the default filters to a specified DataList of pages
        
                    protected        array
    mapIDs(SS_List $pages)
        deprecated
    
    deprecated
Maps a list of pages to an array of associative arrays with ID and ParentID keys