diff --git a/code/ContentControllerSearchExtension.php b/code/ContentControllerSearchExtension.php new file mode 100644 index 00000000..47f222c2 --- /dev/null +++ b/code/ContentControllerSearchExtension.php @@ -0,0 +1,50 @@ +owner->request && $this->owner->request->getVar('Search')) { + $searchText = $this->owner->request->getVar('Search'); + } + + $fields = new FieldSet( + new TextField('Search', false, $searchText) + ); + $actions = new FieldSet( + new FormAction('results', _t('SearchForm.GO', 'Go')) + ); + $form = new SearchForm($this->owner, 'SearchForm', $fields, $actions); + $form->classesToSearch(FulltextSearchable::get_searchable_classes()); + return $form; + } + + /** + * Process and render search results. + * + * @param array $data The raw request data submitted by user + * @param SearchForm $form The form instance that was submitted + * @param SS_HTTPRequest $request Request generated for this action + */ + function results($data, $form, $request) { + $data = array( + 'Results' => $form->getResults(), + 'Query' => $form->getSearchQuery(), + 'Title' => _t('SearchForm.SearchResults', 'Search Results') + ); + return $this->owner->customise($data)->renderWith(array('Page_results', 'Page')); + } +} \ No newline at end of file