mirror of
https://github.com/silverstripe/silverstripe-reports
synced 2024-10-22 11:05:53 +02:00
Minor Moved ContentControllerSearchExtension from sapphire/search/ to cms module
This commit is contained in:
parent
93bf3029c3
commit
766e652ca0
50
code/ContentControllerSearchExtension.php
Normal file
50
code/ContentControllerSearchExtension.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* Extension to provide a search interface when applied to ContentController
|
||||
*
|
||||
* @package cms
|
||||
* @subpackage search
|
||||
*/
|
||||
class ContentControllerSearchExtension extends Extension {
|
||||
static $allowed_actions = array(
|
||||
'SearchForm',
|
||||
'results',
|
||||
);
|
||||
|
||||
/**
|
||||
* Site search form
|
||||
*/
|
||||
function SearchForm() {
|
||||
$searchText = _t('SearchForm.SEARCH', 'Search');
|
||||
|
||||
if($this->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'));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user