/** * Prepares the {@link SearchQuery}. Handles taking request arguments and * generating the filters and excludes to manipulate the search query. * * @return SearchQuery */ protected function prepareQuery() { $params = $this->getSearchParams(); $query = new SearchQuery(); // Filters $query->search($params['q']); // Permission checks. CanView* checks are really basic, don't check for // inheritance or enforce visibility for admins or other logged-in // members (based on their many-many relationships). $query->exclude('SiteTree_ShowInSearch', false); $query->exclude('SiteTree_CanViewType', 'OnlyTheseUsers'); $query->exclude('SiteTree_CanViewType', 'LoggedInUsers'); // $query->filter('..', true) return $query; }